1LIBIEEE1284(3)                   Introduction                   LIBIEEE1284(3)
2
3
4

NAME

6       libieee1284 - IEEE1284 communications library
7

SYNOPSIS

9           #include <ieee1284.h>
10           cc files... -lieee1284
11

OVERVIEW

13       The libieee1284 library is a library for accessing parallel port
14       devices.
15
16       The model presented to the user is fairly abstract: a list of parallel
17       ports with arbitrary names, with functions to access them in various
18       ways ranging from bit operations to block data transfer in one of the
19       IEEE 1284 sanctioned protocols.
20
21       Although the library resides in user space the speed penalty may not be
22       as bad as you initially think, since the operating system may well
23       provide assistance with block data transfer operations; in fact, the
24       operating system may even use hardware assistance to get the job done.
25       So, using libieee1284, ECP transfers using DMA are possible.
26
27       The normal sequence of events will be that the application
28
29        1. calls ieee1284_find_ports to get a list of available ports
30
31        2. then ieee1284_get_deviceid to look for a device on each port that
32           it is interested in
33
34        3. and then ieee1284_open to open each port it finds a device it can
35           control on.
36
37        4. The list of ports returned from ieee1284_find_ports can now be
38           disposed of using ieee1284_free_ports.
39
40        5. Then when it wants to control the device, it will call
41           ieee1284_claim to prevent other drivers from using the port
42
43        6. then perhaps do some data transfers
44
45        7. and then ieee1284_release when it is finished that that particular
46           command. This claim-control-release sequence will be repeated each
47           time it wants to tell the device to do something.
48
49        8. Finally when the application is finished with the device it will
50           call ieee1284_close.
51
52       Usually a port needs to be claimed before it can be used. This is to
53       prevent multiple drivers from trampling on each other if they both want
54       to use the same port. The exception to this rule is the collection of
55       IEEE 1284 Device IDs, which has an implicit open-claim-release-close
56       sequence. The reason for this is that it may be possible to collect a
57       Device ID from the operating system, without bothering the device with
58       it.
59

CONFIGURATION

61       When ieee1284_find_ports is first called, the library will look for a
62       configuration file, /etc/ieee1284.conf.
63
64       Comments begin with a ´#´ character and extend to the end of the line.
65       Everything else is freely-formatted tokens. A non-quoted (or
66       double-quoted) backslash character ´\´ preserves the literal value of
67       the next character, and single and double quotes may be used for
68       preserving white-space. Braces and equals signs are recognised as
69       tokens, unless quoted or escaped.
70
71       The only configuration instruction that is currently recognised is
72       “disallow method ppdev”, for preventing the use of the Linux ppdev
73       driver.
74

ENVIRONMENT

76       You can enable debugging output from the library by setting the
77       environment variable LIBIEEE1284_DEBUG to any value.
78

FILES

80       /etc/ieee1284.conf
81           Configuration file.
82

SEE ALSO

84       parport(3), parport_list(3), ieee1284_find_ports(3),
85       ieee1284_free_ports(3), ieee1284_get_deviceid(3), ieee1284_open(3),
86       ieee1284_close(3), ieee1284_claim(3), ieee1284_release(3),
87       ieee1284_data(3), ieee1284_status(3), ieee1284_control(3),
88       ieee1284_negotiation(3), ieee1284_ecp_fwd_to_rev(3),
89       ieee1284_transfer(3), ieee1284_get_irq_fd(3), ieee1284_set_timeout(3)
90

AUTHOR

92       Tim Waugh <twaugh@redhat.com>
93           Author.
94
96       Copyright © 2001-2003 Tim Waugh
97
98
99
100[FIXME: source]                   07/22/2010                    LIBIEEE1284(3)
Impressum