HDTenEightyP/NetNews huggingface dataset:
From: UD092096@NDSUVM1.BITNET (Barry Pederson)
Newsgroups: comp.os.os2.programmer
Subject: Re: CSet/2 Linking Conflict
Date: 8 Oct 92 21:35:13 GMT
Organization: North Dakota Higher Education Computer Network

>The fact that you can "ignore case in symbol names" for VIM would not be
>a requirement -- it would just mean that the function names you use
>could be whatever case you wanted (mixed, presumably).  As you require
>the linker to respect the case (for TCP/IP), simply use the correct case
>for your VIM functions.  What the correct case is, I have no idea.  All
>uppercase, perhaps?    -tim

 That's kind of what I was thinking at first, but I poked around the
vim.lib file, and the names there look line "VIMInitialize", just like
I used in the program.  The linker error message is:

  error L2029: 'VIMINITIALIZE' : unresolved external

So I'm thinking the compiler is converting the name to uppercase.

I've also looked at the files some more, and found that the VIM functions
are declared as _Far16 _Pascal, while the TCP functions are _Far16 _Cdecl.
Are the two linkage conventions mutually exclusive?

Another thing I've noticed is that the TCP dll seems to be linked by name,
and the VIM is by ordinal.
the map file shows:

    0000:00000000  Imp  _sock_init           (TCPIPDLL._sock_init)

when "Do not ignore case" is activated and TCP/IP is happy, and:

    0000:00000000  Imp  VIMINITIALIZE        (VIM.1)

when "Do not ignore case" is not activated and VIM is happy.

I'm not quite sure if this is relevant.

I'm starting to think that what I need to do is create my own import library
for the VIM.DLL, that has the names in all uppercase.  That way, when I tell
the linker to be case sensitive to satisfy the TCP dll, it will work with
the VIM dll.

I'd appreciate any ideas or comments.
    Barry
From: gruen@ipc1.rrzn.uni-hannover.de (Lutz Grueneberg)
Newsgroups: comp.os.os2.programmer
Subject: Re: Help with CVS version control system
Date: 9 Oct 92 12:19:41 GMT
Reply-To: gruen@ipc1.rrzn.uni-hannover.de
Distribution: comp
Organization: University of Hannover

In article <1992Oct8.075927.4437@ericsson.se>, etxabju@juno.ericsson.se (Anders Bjurman) writes:
|> I works with a medium sized programming project (about 150 source files)
|> and currently uses the RCS posted to c.b.os2 some months ago (5.6?) to keep
|> track of different versions.
|> 
|> Since the CVS program included with RCS seems to be better I've tried to
|> use it instead, 
You are right!

|>but I can't make it work. I can't find anything in
|> the doc on how to get started, i.e. put my files under CVS control
|> ( ~ "CVS init" ). Is there some guide or hints on how to do that? (do CVS
|> *works* in the first place?)
Yes, CVS works. I use CVS at home (OS/2) for my projects. At work, we
are developing software in a work group on SUNs and use CVS. The
avaible CVS 1.2 port, done by Kai-Uwe Rommel, is somewhat buggy. The bugs
don't result from the port, the CVS 1.2 sources have bugs. I've ported
CVS 1.3 (the bugs of 1.2 are fixed, additional important features) to OS/2, 
but there are still some funny problems. The beta release will become
available very soon.

Documentation: You should download the CVS source from a GNU-Server. A lot
of papers are included. The 1.3 port will include the papers. 

For now check the foillowing things:
Set up all varaibles for RCS. Set up all variables for 
CVS (CVSROOT and EDITOR are important). Create a CVSROOT directory. Create the 
administrative directories (look at the sample tree). Create a
directoriy for your project in the CVSROOT directory. Goto some temp. 
directory. Say 'cvs co <project>'. Goto dir. <project>. 
Copy some source files (no binaries) to this directory and say 
'cvs add <file1> <file2> ...'. The check in with 'cvs ci'. 
|> 
|> I am also looking for some practical experience about version control in CVS
|> or RCS? In my opinon it seems to be too much work to keep track of 150 files -
We manage some projects (lot of files, C++, about 10000 lof each project) 
with CVS on our SUNs at work. 

The original author of CVS manages a complete UNIX OS
with CVS, the CVS papers include detailed information.`

It would be hard to do this SCCS or RCS alone.

|> I want to version control the application, not individual files. Any hints
|> on how to do that?
CVS is the optimal tool for this (as far as I know).

Lutz
-- 
// Lutz Gr"uneberg
// Lehrgebiet Rechnernetze und Verteilte Systeme
// Universit"at Hannover
// Schlosswender Str. 5
// D-3000 Hannover 1, Germany
//
// Email: Grueneberg@rrzn.uni-hannover.dbp.de
//
//				... have a  n.i.c.e. day
Newsgroups: comp.os.os2.programmer
From: linville@garfield.catt.ncsu.edu (John W. Linville)
Subject: Re: Minor wishlist item: any IBMers out there?
Organization: Computer and Technologies Theme Program, NCSU, Raleigh
Date: Wed, 7 Oct 1992 13:12:40 GMT

In article <1992Oct6.214026.3576@networx.com> mikel@networx.com (Mike Lempriere) writes:
>Sorry, gotta flame on this one...

Sorry, your pretty far off base on this one...

>The DLL itself is not inherently evil, however, the implementation is.
>It is absurd to have a program split in pieces in DIFFERENT PLACES!
>If I were to make a program and use a DLL, I would expect ALL the code
>to be in one place.  .DLL and .EXE in the relese directory tree.

That is why most people (by default in 2.0) have '.' as the first entry in
their LIBPATHs.  Then, you can put the DLL in the same directory as the EXE
and all will be well.  Also, many packages install DLL subdirectory's under
their main directories, and then add the DLL sub to the LIBPATH in CONFIG.SYS.

>An install process should not have to go messing around in the SYSTEM
>(/OS2/DLL) directory.  A simple recursive copy should suffice.  Most
>importantly, if that software package were to be deleted, only it's
>directory need be deleted -- no turds are left behind in the SYSTEM's
>directory tree.

Which is exactly the case with most packages.  All of the commercial packages
that I have do install in the way I described above, and simply dragging that
folder to the shredder deletes all remnants of the program.  Also, other
packages I am familiar with, like TE/2, often put the DLL and the EXE together,
so removal is also a simple case there.

>Worst yet, the greatest insult of them all, is that the poor clod has
>to reboot.  Real computers, with real OS's reboot when the power comes
>back on, and that's it.  I thought a 486 with OS/2 wass real.  Wrong.

Well, a reboot would only be necessary if LIBPATH was modified (or if other
stuff was put in CONFIG.SYS).  In the way you describe (putting DLLs in 
/OS2/DLL) no reboot should be necessary (unless something else in CONFIG.SYS
was modified).  Any REAL computers running Unix (a REAL OS) also have to
reboot for many types of system changes, and they take a lot longer to get
back up than OS/2 does.  Quit your whining!  :-)

John W. Linville


+--------------------------------------------------------------------------+
|  John W. Linville                Amateur radio:  KD4KHC                  |
|  #include "std_disclaimer.h"     E-mail:  linville@catt.ncsu.edu         |
+--------------------------------------------------------------------------+
From: KENKAHN@PKSMRVM.VNET.IBM.COM (Kenneth A. Kahn)
Date: Thu, 15 Oct 92 17:46:10 EDT
Newsgroups: comp.os.os2.programmer
Subject: Re: Accessing memory (Monitor)
Organization: Staff of IBM Fellow - IBM Personal/370
Disclaimer: This posting represents the poster's views, not those of IBM
News-Software: UReply 3.0
X-X-From: KENKAHN@PKSMRVM.VNET.IBM.COM (Ken Kahn)
            <1992Oct15.182310.26406@njitgw.njit.edu>

In <1992Oct15.182310.26406@njitgw.njit.edu> David Charlap writes:
>In article <19921015.045120.701@almaden.ibm.com> KENKAHN@PKSMRVM.VNET.IBM.COM (Kenneth A. Kahn) writes:
>>/***************************************************************************
>> * Structure defining the layout of the LVB Buffers.  The Buffer consists  *
>> * of Host_Rows*Host_Cols 2-Byte Cells.                                    *
>> ***************************************************************************/
>>typedef union {
>>  struct {
>>    BYTE Character;               /* ASCII Character                       */
>>    BYTE Color;                   /* Foreground/Background Color           */
>>  } Byte;
>>  UINT Cell;                      /* Allows access to the 2-byte cell      */
>
>Shouldn't this be USHORT if you mean 2-byte?  Else you stand a chance
>of it being compiled to a ULONG on some systems.
>

You are right.  I'm going this now converting the code this is for to 32-bit
for C/SET2.
From: uma@natinst.com (Uma Arunkumar)
Newsgroups: comp.os.os2.programmer
Subject: 16-BIT VIO APIs IN 32-BIT CODE
Date: 16 Oct 1992 10:06:09 -0500
Organization: National Instruments, Austin, TX
Distribution: world
NNTP-Posting-Host: falcon.natinst.com



I want to call 16bit API calls especially relating
to VIO and KBD.  
The manual says 
   OS/2 2.0 provides support for the following 16 bit subsystems:
     Vio
     Kbd
     Mou
     Mon(monitor functions)

I want to use these 16 bit API`s like VIoGetMode, VioWriteCharStringAt etc.,
in my 32 bit code.  
I am compiling using 32bit CSet/2 compiler.
(i) What are the include files for VIO subsytem? 
    How exactly I should do it?
(ii) Can I use link386 or just link?
(iii) I compiled using link386 giving os2286.lib and os2386.lib.
It compiled and linked fine.  But when I run it, when the program
gets to the 16 bit API call, it displays "access violation".
It gets aborted.

Can anybody throw light on how to do this stuff?

My email addr is uma@natinst.com

Thanks in advance.
uma.
From: tnt@netcom.com (Terry Turner)
Newsgroups: comp.os.os2.programmer
Subject: Re: emacs for emx0.8e?
Date: 8 Oct 92 23:46:14 GMT
Article-I.D.: netcom.TNT.92Oct8154614
	<1b1vquINNirf@fido.asd.sgi.com>
Distribution: comp
Organization: Watch the Skies

emacs will now run a shell using the emx08e dll.
fixes to the emacs lisp have been placed on ftp-os2.nmsu.edu. thanks.
-- 
terry
	tnt@netcom.com
Newsgroups: comp.os.os2.programmer
From: slumos@unlv.edu (Steve Lumos)
Subject: Re: OS2 developer's CDs have no TCP/IP 1.2.1
Organization: UNLV Computer Science
Date: Sun, 11 Oct 92 03:47:46 GMT

In article <1992Oct10.182723.27561@midway.uchicago.edu> sip1@midway.uchicago.edu writes:
>In article <1992Oct10.061941.8605@nuscc.nus.sg> ccewch@nuscc.nus.sg (Wong Chee Heng) writes:
>>[nothing]
>
>I'm not sure if this was a question, but, yes, the OS/2 PDK CD-ROM
>does have IBM TCP/IP 1.2.1.

Just so that I can get everything that I have heard perfectly clear in
my mind: Owners of the CD-ROM are under licence to discontinue use of
its contents on 12/15/92, right? 

I heard something to that effect. If IBM is really and truely 'giving
away' all of these goodies to anyone who promises to write programs
for OS/2, we are going to have a flood to deal with (YES!)

-- 
Steve Lumos - slumos@cs.unlv.edu
From: jpr@cse.nd.edu (James P. Robbins)
Newsgroups: comp.os.os2.programmer
Subject: NDIS interface
Date: 9 Oct 92 23:09:10 GMT
Reply-To: jpr@cse.nd.edu (James P. Robbins)
Organization: Distributed Computing Research Lab, Notre Dame

Does anyone know where I can get technical documentation on the OS/2 NDIS
interface?  I would like to implement my own protocol driver that would
be similar to the Netbios and TCPIP protocol drivers (and co-exist
with them).		

Any help would be greatly appreciated.

Jim Robbins
From: msf@skaro.as.arizona.edu (Michael Fulbright)
Newsgroups: comp.os.os2.programmer
Subject: SBOS2 Executables Available for FTP
Date: 14 Oct 92 09:25:57 GMT
Organization: University of Arizona UNIX Users Group


The compiled versions of the supplemental programs which I bundled
in sbos2v09.zoo are now available on astro.as.arizona.edu under
/pub/SBOS2. Read the README file for more info.

So far the feedback on SBOS2 has been good. It is a Sound Blaster
device driver for OS/2 V2.0. It allows one to program the SB from a
high level language with little fuss. I'm currently asking people to
test it for me so I can get it ready for a more general release. If
you want more information about it send me email.


michael fulbright
msf@as.arizona.edu
Newsgroups: comp.os.os2.programmer
From: pshen@image.mit.edu (Paul Shen)
Subject: Use parallel port for input and output
Organization: MIT Advanced Television Research Program
Date: Mon, 12 Oct 1992 21:40:38 GMT


Is there anyway I can use my parallel port for both input and output?
What is data rate they can support? Is there any system call or
subroutines that exist?

Thanks,
Paul Shen
--
/********************************************************/
/*	Paul Shen,	(619) 689-0143			*/
/********************************************************/
Newsgroups: comp.os.os2.programmer
From: cjs33278@uxa.cso.uiuc.edu (Carl+Chris Samos)
Subject: Re: Receiving LN_ENTER with a LS_MULTIPLESEL listbox?
Organization: University of Illinois at Urbana
Date: Thu, 15 Oct 1992 15:05:13 GMT

Well, I just thought of a way I could have not used that static int in my
solution.  I should just store the index in the QWS_USER field of the listbox:

    case WM_DRAWITEM:
	if (SHORT1FROMMP(mp1) == ID_LISTBOX) {
	    WinSetwindowUShort(WinWindowFromID(hWnd, ID_LISTBOX), QWS_USER,
			       ((POWNERITEM) mp1) -> idItem);
	    }
        return(FALSE);
	break;

    case WM_CONTROL:
	if (SHORT1FROMMP(mp1) == ID_LISTBOX) {
	    if (SHORT2FROMMP(mp1) == LN_ENTER) {
		int nIndex;

		nIndex = WinQueryWindowUShort(WinWindowFromID(hWnd, ID_LISTBOX),
					      QWS_USER);
		}
	    }
        return(0);
        break;

-Carl

Newsgroups: comp.os.os2.programmer
From: bsn@world.std.com (Brent S Noorda)
Subject: KwikINF HELPNDX Not Found
Summary: KwikINF complains "HELPNDX not found"
Keywords: KwikINF
Organization: The World Public Access UNIX, Brookline, MA
Date: Fri, 9 Oct 1992 18:10:12 GMT

KwikINF displays this error when I install it:

                Error!

     HELPNDX not found. Would you like to
     continue without automatic
     pre-selection?


What is  this about?  There's an environment variable HELPNDX, but
I see nothing in KwikINF help about how it is used.
Who uses HELPNDX?

Newsgroups: comp.os.os2.programmer
From: harris@garfield.catt.ncsu.edu (Michael Harris)
Subject: Re: PRESENTATION MANAGER QUESTION
Organization: North Carolina State University
Date: Thu, 8 Oct 1992 22:07:05 GMT

uma@natinst.com (Uma Arunkumar) writes:

>****************** PM QUESTION in OS2 2.0************************
>I am just trying to create a child window.  
>I have created a main window with frame, sysmenu, scroll bar, 
>minimize maximize buttons etc using WinCreateStdWindow.  
>This window displays the company logo and product information.
>I have used some simple graphics functions.  
>As soon as the user hits any key, the next screen should be displayed.

>The questions are given below:
>(i) Do I have to create a child window or repaint the same window with the new textual information?

You can do it either way.  In essence, you are creating a child window...
the Client window that appears on top of the frame and between the menu and
scrollbars.

>(ii) HOW SHOULD I CREATE A CHILD WINDOW? 

Child windows are created using WinCreateWindow().  A child window is simply
a window who has a parent and/or owner.  (Depending upon what behavior you
want.)

>(iii) HOW SHOULD I REPAINT AN EXISTING WINDOW?

If you want to force an existing window to repaint, call WinInvalidateRect()
and pass a NULL pointer in for the rectangle.

>(iv)   I tried giving 
>         WinPostMessage(hwnd, WM_ERASEWINDOW, (MPARAM) 0, (MPARAM)0);
>in order to clear the window so that I can put new textual
>information on the same window.  But the compiler complains
>that WM_ERASEWINDOW should be declared.  ( I had defined INCL_WIN, INCL_GPI).

The best thing for you to do in this case is to draw your logos and other
things while your client window is processing WM_PAINT.  It should look
something like this:

/* Warning!  PSEUDOCODE */
case WM_PAINT:
{
HPS hps;

hps=WinBeginPaint();

/* The following calls aren't necessary if you are happy with the default */
/* Background color and you are trapping WM_ERASEBACKGROUND and returning */
/* TRUE */ 
WinQueryWindowRect();
WinFillRect();        /* clear background */

WinDrawBitmap();
WinDrawText();

WinEndPaint();
}

Now, that is really sketchy, but it is a start.  You will need to load the
bitmap via WinLoadBitmap() from a resource and specify the bitmap handle
to WinDrawBitmap.

Hope this helps!

______________________________________________________________________________
     Michael Harris - harris@catt.ncsu.edu or harris@carvm3.vnet.ibm.com
 System Administrator, Computer & Technologies Theme Program, NC State Univ.
(My opinions are my own and do not represent those of NCSU or IBM Corporation)
From: uma@natinst.com (Uma Arunkumar)
Newsgroups: comp.os.os2.programmer
Subject: PRESENTATION MANAGER QUESTION
Date: 7 Oct 1992 10:30:41 -0500
Organization: National Instruments, Austin, TX
Distribution: world
NNTP-Posting-Host: falcon.natinst.com

****************** PM QUESTION in OS2 2.0************************
I am a beginner in PM programming in OS/2 2.0. 


I am just trying to create a child window.  
I have created a main window with frame, sysmenu, scroll bar, 
minimize maximize buttons etc using WinCreateStdWindow.  
This window displays the company logo and product information.
I have used some simple graphics functions.  
As soon as the user hits any key, the next screen should be displayed.

The questions are given below:
(i) Do I have to create a child window or repaint the same window with the new textual information?
(ii) HOW SHOULD I CREATE A CHILD WINDOW? 
(iii) HOW SHOULD I REPAINT AN EXISTING WINDOW?
(iv)   I tried giving 
         WinPostMessage(hwnd, WM_ERASEWINDOW, (MPARAM) 0, (MPARAM)0);
in order to clear the window so that I can put new textual
information on the same window.  But the compiler complains
that WM_ERASEWINDOW should be declared.  ( I had defined INCL_WIN, INCL_GPI).





I WOULD HIGHLY APPRECIATE SOME HELP.

Thanks in advance.

My Email address is uma@natinst.com.

uma.
From: KENKAHN@PKSMRVM.VNET.IBM.COM (Kenneth A. Kahn)
Date: Thu, 15 Oct 92 07:41:54 EDT
Newsgroups: comp.os.os2.programmer
Subject: Re: Accessing memory (Monitor)
Organization: Staff of IBM Fellow - IBM Personal/370
Disclaimer: This posting represents the poster's views, not those of IBM
News-Software: UReply 3.0
X-X-From: KENKAHN@PKSMRVM.VNET.IBM.COM (Ken Kahn)

In <1992Oct15.033035.16753@dragon.acadiau.ca> James R. Skinner writes:
>
>I am trying to write a simple program to clear the monochrome monitor
>that I have attached to my system.  I am using the GCC compiler and the
>following code:
>
>
>
>main(int argc, char *argv[], char *envp[])
>{
>
>          for (  int *p=0x80000 ; *p <= (0x80000+4000)  ; (*p++) = 0x2007  );
>
>}
>
>This code causes an access violation exception when executed.
>How can I correct this?  How do I get access to this memory area?
>Any help will be appriciated..  Thanks.

First off, you are trying to access the 'physical' Display Buffer Address,
which you can't do under OS/2.  In order for you to do this, you will have
to use the 'Logical Video Buffer' which is a virtual address to this memory.
To get a pointer to the LVB use the ViogetBuf API:

/***************************************************************************
 * Structure defining the layout of the LVB Buffers.  The Buffer consists  *
 * of Host_Rows*Host_Cols 2-Byte Cells.                                    *
 ***************************************************************************/
typedef union {
  struct {
    BYTE Character;               /* ASCII Character                         */
    BYTE Color;                   /* Foreground/Background Color             */
  } Byte;
  UINT Cell;                      /* Allows access to the 2-byte cell        */
} LVB;

LVB     *lvb_Ptr;                /* Logical Video Buffer                    */
USHORT  lvb_Size;                /* Size of LVB in bytes                    */

VioGetBuf(&lvb_Ptr,&lvb_Size,0);

However, if all you want to do is clear the screen, all you have to do is
use the VioScrollUp API:

BYTE    Cell[2];
USHORT  CellCount = 2;

VioReadCellStr(Cell,&CellCount,1,1,0);
Cell[0] = 0x20;
VioScrollUp(0,0,-1,-1,-1,Cell,0);

the values -1 effectively clear the screen.  The VioReadCellStr is so you
can maintain the current Bg/Fg color attributes.
From: soh3@quads.uchicago.edu (min-woong sohn)
Newsgroups: comp.os.os2.programmer
Subject: Re: Gawk and floating-point numbers
Date: 8 Oct 92 04:46:37 GMT
Reply-To: soh3@midway.uchicago.edu
Organization: University of Chicago

In article <BvpIsC.CHx@news.cso.uiuc.edu> thoth@uiuc.edu (Ben Cox) writes:
>I have been having a bit of trouble with floating-point numbers in
>Gawk (2.13, I think) under OS/2 2.0.
>
>I have a script which tallies up some figures (dollar amounts, so they
>are floats) and then tries to print them.  I use a line something like
>
>   printf "Total: %.02f, bleagh\n", total;
>
>and all I get is:
>
>   Total: f, bleagh
>
>for output.  Using this same script with Gawk under Linux worked fine,
>so naturally I assumed it would work with Gawk under OS/2.
>
>I also tried
>
>   printf "Total:", total, ", bleagh";
>
>and that printed
>
>   Total: 12510 , bleagh
>
>which isn't even close to correct ("total" is nowhere near 12510, or
>even 125.10).
>

I have no problem with mine.  When I summed up from 1.01 to 1.1, I
got 1.55 using both print and printf "%.02f".  There are two ports
of gawk 2.13 on ftp-os2, so you obviously need to try the other one.

Min
From: mark@snark.itc.gu.edu.au (Mark Hessling)
Newsgroups: comp.os.os2.programmer
Subject: Re: Vio buffer pointer question
Date: 16 Oct 92 05:41:51 GMT
Organization: ITC, Griffith University, Brisbane, Australia

checker@acf5.NYU.EDU (checker) writes:

>I'm trying to get some Vio code working without any manuals (it was so
>nice of IBM to include no documentation on the freaking API in the
>WorkSet) and I'm having some trouble with direct video writes.

Agree totally!!

>I'm creating a VIOMODEINFO struct (and filling in the cb member with the
>size) and passing it to VioGetMode.  The buf_addr member has the correct
>address after the call for the mode I'm in (0x000B8000) but I get a GP
>fault when I try to write to it.  Do I have to do something before I can
>do a direct video write?  Can I even _do_ a direct video write?  If not,
>what is that pointer for?

This is an extract from one module from the PDCurses 2.0 package:

VIOMODEINFO modeInfo;

modeInfo.cb = sizeof(modeInfo);
VioGetMode(&modeInfo,0);
...

This works fine.

>Is there any example code around that shows how to do direct text mode
>(graphics modes would be a bonus) video memory writes using Vio?

You could get hold of the complete source of PDCurses 2.0 from:

accord.dciem.dnd.ca in /pub/curses/pdcurses

Only accessible 6pm to 6am Eastern(?) time.

>Chris

Cheers, Mark
------------------------------------------------------------------------
Mark Hessling                         Email: mark@snark.itc.gu.edu.au
DBA,ITS                               Phone: +617 875 7691
Griffith University                   Fax:   +617 875 7877
Nathan, Brisbane QLD 4111 Australia   *** PDCurses Maintainer ***
------------------------------------------------------------------------
Newsgroups: comp.os.os2.programmer
From: kuhnle@dia.informatik.uni-stuttgart.de (Jochen Kohnle)
Subject: locking-Command and Un-IPFC
Organization: Informatik, Uni Stuttgart, W.Germany
Date: Mon, 12 Oct 1992 15:03:39 GMT

Hi!

Here are two questions I couldn't find an answer for:

1. How can I write an UNIX-like
	"int locking( int handle, long length, int mode)"
   for the C-Set/2 runtime libs? Or, how can I access the OS/2 file
   handle (type HFILE) through the C-Set/2 file handle so I can use
   the DosSetFileLocks-Command?

2. Is there something like an IPFC-reverse compiler for converting	 
   *.INF file to ASCII? The idea is to convert the IPFC input files to
   Microsoft-HELPMAKE input format since MS-Quickhelp is much faster
   than VIEW.

Thanks in advance for helping!

Jochen Kuhnle
(kuhnle@dia.informatik.uni-stuttgart.de)