SYNOPSIS

       #include <ieee1284.h>


       int ieee1284_open (struct parport *port, int flags, int *capabilities);



DESCRIPTION

       In order to begin using a port it must be opened. Any initial set-up of
       the  port  is done at this stage. When an open port is no longer needed
       it should be closed with ieee1284_close(3).


       The possible flags are:


       F1284_EXCL
              This device cannot share the port with any other device. If this
              is  the  case  it  must be declared at this stage, so that other
              drivers trying to access the port know not to bother;  otherwise
              they  will wait until this driver releases the port, i.e. never.

              The iopl/dev-port access methods don't support this yet, but the
              ppdev ones do.


       If  capabilities is not NULL it must point to storage for an int, which
       will be treated as a set of flags, one per bit, which the library  sets
       or  clears  as  appropriate. If a capability is present it will be used
       when asked for. They are:


       CAP1284_RAW
              Pin-level access is available. If  this  capability  is  present
              then the following functions are effective: ieee1284_write_data,
              ieee1284_read_status, ieee1284_wait_status,  ieee1284_write_con-
              trol, ieee1284_read_control, ieee1284_frob_control.


       CAP1284_NIBBLE
              There is an implementation of nibble mode for this port.


       CAP1284_BYTE
              There is an implementation of byte mode for this port.


       CAP1284_COMPAT
              There  is an implementation of compatibility mode for this port.


       CAP1284_ECP
              There is an implementation of bounded ECP mode for this port.


       CAP1284_EPP
              There is a hardware implementation of EPP mode for this port.


       CAP1284_EPPSWE
              There is a software implementation of EPP mode for this port.


       CAP1284_IRQ
              An interrupt line is configured for this port and interrupt  no-
              tifications can be received using ieee1284_get_irq_fd(3).


       CAP1284_DMA
              A DMA channel is configured for this port.



RETURN VALUE

       E1284_OK
              The port is now opened.


       E1284_INIT
              There  was  a  problem during port initialization. This could be
              because another driver has opened the port exclusively, or  some
              other reason.


       E1284_NOMEM
              There is not enough memory.


       E1284_NOTAVAIL
              One  or more of the supplied flags is not supported by this type
              of port.


       E1284_INVALIDPORT
              The port parameter is invalid (for instance, the  port  may  al-
              ready be open).


       E1284_SYS
              There  was  a  problem at the operating system level. The global
              variable errno has been set appropriately.



SEE ALSO

       ieee1284_close(3)

Man(1) output converted with man2html