ftp.nice.ch/pub/next/system/driver/parallel/ParallelPortDriver.1.2.I.bs.tar.gz#/ParallelPortDriver1.2

Copying
 
Default.table
 
English.lproj/
 
Makefile
 
Makefile.postamble
 
Makefile.preamble
 
PB.project
 
Par.config/
 
Par_reloc.tproj/
 
PostLoad.tproj/
 
README
 
config.h
[View config.h] 

README

README-file for the ParallelPort-driver Version 1.2 (unchanged since 1.1)

This is a reprogrammed replacement for the original ParallelPort-driver from
NeXT. It is intended to work with NEXTSTEP 3.2 for Intel (ParallelPort
worked in version 3.1, so you won't need this driver if you use 3.1).
Version 1.2 also works with NEXTSTEP 3.3. For a Changelog look at the file
'Par.m' in the subproject 'Par_reloc.tproj'.

How to install the driver:

1.) Compile the distributed sourcecode.
   This step is not necessary any more, since the package contains a compiled
   version of the driver. You will, however, need to recompile if you have to
   change 'config.h'.
   You need NEXTSTEP Developer to do this.
   Simply load PB.project (in the main-folder, not that in one of the
   subprojects *.tproj) into ProjectBuilder by double-clicking it and
   click on 'BUILD'. This compilation need not be done as root. Maybe you will
   get the compiler-error

 /NextDeveloper/Headers/bsd/sys/user.h:40: header file 'kern/lock.h' not found

   this is an error in the NEXTSTEP-Headers, a possible workaround is to
   make a link from /NextDeveloper/Headers/kernserv to
   /NextDeveloper/Headers/kern (must be done as root!).
   The compilation-process should leave a directory 'Par.config' in the
   main-folder. If you want to save disc-space, you can run the command
   'strip Par.config/PostLoad' now.

2.) Double-click on 'Par.config', the application 'Configure' will be started
   and ask you to install Par; give the confirming answer. You will be asked
   for the root-password, because drivers must be installed as root. After
   installing the driver you can remove the original NeXT-driver from the list
   of active drivers in the 'Other'-section of 'Configure.app' and add the
   'New Parallel Port Driver'. The default-settings should be the correct ones.

3.) save the configuration and reboot the machine

Features:
This driver is intended to be simple and robust. The only setting that can be
done by ioctls is the timeout (with ioctl(fd, PPIOCSETTIMO, &timeout)), but
this setting is (and should be) normally disabled. Some printer-drivers set
this value to 2 seconds, which is far too small (thanks go to Marc Salvatori <salvo@eskimo.com> who helped me investigate this problem). If you need to set
the timeout from your software, look at the file 'config.h'. There is a define
'ALLOW_SET_TIMEOUT' to enable this ioctl. The timeout is set in seconds and the
default (always restored after an open) is 3 minutes. If the printer is not
responding, the process accessing it will not be killable for this
timeout-period. On the other hand, if the printer is out of paper, you have to
refill it within these 3 minutes. If you want to change the default, change the
constant 'PP_TIMEOUT' in Par.m. Once a timeout occured, the printer is marked
'dead' and all attempts to send data result in an error. This 'dead'-flag is
cleared whenever the printer is not busy any more.

There is an other define that can be enabled in 'config.h': the DEBUG-option.
If DEBUG is enabled, every call to a driver-function is logged in
/usr/adm/messages. But be careful: you can fill up your harddisc with thousands
of 'par_write: success'-messages. This option should always be disabled for
normal operation.

For bugreports (I hope there are no bugs) and suggestions mail to
Christian Starkjohann <cs@ecs.co.at> or <cs@ds1.kph.tuwien.ac.at>

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.