
                             Device - Driver

                                   for

                           Centronics - Devices

                                   and

                          Postscript - Printers

-------------------------------------------------------------------------------

This Software is made for Domain/OS. You can change it for your needs.

J"org Weule      weule@cs.uni-duesseldorf.de

-------------------------------------------------------------------------------

   Permission to use, copy, modify and distribute this software for any
   purpose and without fee is hereby granted, provided that this copyright
   notice appear in all copies as well as supporting documentation. All
   work developed as a consequence of the use of this program should duly
   acknowledge such use.

-------------------------------------------------------------------------------
              You can get this Sofware also from [134.99.128.3]:
               clio.rz.uni-duesseldorf.de:/apollo/dev_pio.tar.Z
-------------------------------------------------------------------------------

This version supports the SPE-Board by default. I think this is compatible
to the standart PC parallel device. I included the binaries for this
distribution. If you are using this software, please send me an email.
I wuold like to know the number of installations of this software.

If you have good expiriences with standard PC devices, please let me know.
I will change this README in this case.

-------------------------------------------------------------------------------

Attention:

- I have only the documentation of gpio sr9.7.
  So I made my own file pbu.h to make it working with sr10.4

- While opening the device, it will clear the buffer and send some extra
  blanks to the printer. Its o.k. for my printer (postscript).
  You may change it.

- The library is working with a ring buffer of 16k bytes, there is a #define
  to change it, but you have to take a power of two.

- The device-file works as a stream device -- since only a minimum set of
  routines are installed, you may have problems to use it in some cases.
  prsvr is working fine with this device. ;-)

-------------------------------------------------------------------------------

                    FAST INSTALLATION with default name LAPR

                    this is the easy way ...

- run 'make' in this directory
- reboot you node
- run 'make type' in this directory
- configure your 'prsvr' to print on '/dev/lapr' ( see dev/lapr.conf )

-------------------------------------------------------------------------------

                                  INSTALLATION

- Change the name PIO in the ./ddf/Makefile for your needs, you can take
  the same name as your type manager. I named my global_device 'lapr'.

- Say 'make install' in the ddf directory.

- Reboot your node for loading the global device.

- You should test your installation with lapr_print and lapr_status.
  You should be able to print with these programms.

- If you want to use my binary for your type-manager, install this binary
  with the script 'Install' in the dev-directory. This is the fastest way
  of installation. If you want to compile the source, you should do the
  following:

- Choose a name for the type manager (io-library) and create a uuid for that
  name by 'crty -l your_type_name'. Change the name PIO in the Makefile of the
  ./dev directory. I choose 'lapr'.

- Say 'make install' in the dev directory for the type manager and the device
  file in the /dev/directory.

-------------------------------------------------------------------------------

     If you use the default names, you will get:

- global device:
	/dev/global_devices/lapr_ddf
  libraries
	/lib/lapr*

- special file to print:
	/dev/lapr
  type manager
	/sys/mgrs/lapr

- tools:
	/usr/local/bin/lapr...
		jobend				writes as EOF to the printer
		print [files ...]		printes one file and an EOF
		write [strings ...]             writes the string of the first
                                                argument to your printer
                status [-a]                     looking for paper empty
                init                            initialize the device

ls -lT ... :
ddf        crwxr-xr-x   1 root       0,   0 Nov 19 09:14 /dev/global_devices/lapr
lapr       -rwxrwxrwx   1 root            0 Dec 21 17:28 /dev/lapr
coff       -rwxr-xr-x   1 root         1469 Nov 19 09:14 /usr/local/bin/lapr_init
coff       -rwxr-xr-x   1 root         1583 Jan 24 14:44 /usr/local/bin/lapr_jobend
coff       -rwxr-xr-x   1 root         2048 Jan 24 14:44 /usr/local/bin/lapr_print
coff       -rwxr-xr-x   1 root         1475 Nov 19 09:14 /usr/local/bin/lapr_status
coff       -rwxr-xr-x   1 root         1626 Jan 24 14:44 /usr/local/bin/lapr_write
-------------------------------------------------------------------------------
