


sane-pint(5)                                         sane-pint(5)


NNAAMMEE
       sane-pint  -  SANE  backend for scanners that use the PINT
       device driver

DDEESSCCRRIIPPTTIIOONN
       The ssaannee--ppiinntt library implements a  SANE  (Scanner  Access
       Now  Easy)  backend  that provides generic access to hand-
       held and flatbed scanners using  the  PINT  (PINT  Is  Not
       Twain)  device  driver.  The PINT driver is being actively
       developed on the OpenBSD platform, and has been ported  to
       a few other *nix-like operating systems.

       PINT  is designed to provide an iiooccttll(2) interface to many
       different scanner types.  However, this backend  has  only
       been  tested  with  flatbed single-pass scanners, and more
       work will probably be required to  get  it  to  use  other
       scanner types successfully.

       If  have successfully used the PINT driver with your scan-
       ner, but it does not work using this SANE backend,  please
       let  us  know.   To do this, send a mail with the relevant
       information for your scanner to _s_a_n_e_-_d_e_v_e_l_@_m_o_s_t_a_n_g_._c_o_m.


DDEEVVIICCEE NNAAMMEESS
       This backend expects device names of the form:

              _s_p_e_c_i_a_l

       Where _s_p_e_c_i_a_l is the UNIX path-name for the special device
       that  corresponds to the scanner.  The special device name
       must be a PINT device or a symlink to such a device.   For
       example, under NetBSD or OpenBSD, such a device name could
       be _/_d_e_v_/_s_s_0 or _/_d_e_v_/_s_c_a_n_0.

CCOONNFFIIGGUURRAATTIIOONN
       The contents of the _p_i_n_t_._c_o_n_f.  file is a list  of  device
       names  that  correspond to PINT scanners.  Empty lines and
       lines starting with a hash mark (#) are ignored.  A sample
       configuration file is shown below:

              /dev/scanner
              # this is a comment
              /dev/ss1

FFIILLEESS
       _/_u_s_r_/_l_o_c_a_l_/_e_t_c_/_s_a_n_e_._d_/_p_i_n_t_._c_o_n_f
              The  backend  configuration file (see also descrip-
              tion of SSAANNEE__CCOONNFFIIGG__DDIIRR below).

       _/_u_s_r_/_l_o_c_a_l_/_l_i_b_/_l_i_b_s_a_n_e_-_p_i_n_t_._a
              The static library implementing this backend.





                           13 May 1998                          1





sane-pint(5)                                         sane-pint(5)


       _/_u_s_r_/_l_o_c_a_l_/_l_i_b_/_l_i_b_s_a_n_e_-_p_i_n_t_._s_o
              The shared library implementing this backend  (pre-
              sent on systems that support dynamic loading).

EENNVVIIRROONNMMEENNTT
       SSAANNEE__CCOONNFFIIGG__DDIIRR
              This  environment  variable  specifies  the list of
              directories  that  may  contain  the  configuration
              file.  Under UNIX, the directories are separated by
              a colon (`:'), under OS/2, they are separated by  a
              semi-colon (`;').  If this variable is not set, the
              configuration  file  is  searched  in  two  default
              directories:  first,  the current working directory
              (".") and then in  /usr/local/etc/sane.d.   If  the
              value  of  the  environment  variable ends with the
              directory separator  character,  then  the  default
              directories are searched after the explicitly spec-
              ified directories.  For example, setting  SSAANNEE__CCOONN--
              FFIIGG__DDIIRR  to "/tmp/config:" would result in directo-
              ries "tmp/config", ".", and "/usr/local/etc/sane.d"
              being searched (in this order).

       SSAANNEE__DDEEBBUUGG__PPIINNTT
              If  the  library  was  compiled  with debug support
              enabled, this  environment  variable  controls  the
              debug level for this backend.  E.g., a value of 128
              requests all debug output to be  printed.   Smaller
              levels reduce verbosity.

AAUUTTHHOORR
       Gordon  Matzigkeit, adapted from existing backends written
       by David Mosberger.

BBUUGGSS
       There are minor roundoff errors when adjusting the ranges,
       since  PINT uses units of 1/1200 of an inch, and SANE nor-
       mally uses millimeters.   Symptoms  of  these  errors  are
       skewed  images.   This  should  really  be  fixed  (no pun
       intended) as soon as possible, but I just don't  know/care
       enough   about  fixed-point  representation  and  roundoff
       errors to do this correctly.  Workaround:  use  inches  as
       the scanning unit, and everything usually works fine.

       The  PINT  0.5e interface does not provide a way to deter-
       mine valid ranges for DPI, modes, and scan sizes.  So, the
       SANE backend queries the PINT device, and dynamically dis-
       covers valid ranges by doing a binary search.  This  means
       that the driver takes longer to initialize than seems nec-
       essary.

       Resetting the scanner does not seem to work (at least  not
       on my HP ScanJet 4p).  For that reason, the driver sends a
       SCIOCRESTART, then gobbles up any remaining input until it
       hits EOF.



                           13 May 1998                          2





sane-pint(5)                                         sane-pint(5)


       Not all of the scanners have been identified (i.e. whether
       they are flatbed or handheld).

       X and Y resolutions are assumed to be the same.

       No testing has been done on three-pass or  handheld  scan-
       ners, or with Automatic Document Feeder support.


















































                           13 May 1998                          3


