Unix/Linux Go Back    


CentOS 7.0 - man page for ieee1284_get_deviceid (centos section 3)

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)


IEEE1284_GET_DEVICEI(3) 		    Functions			  IEEE1284_GET_DEVICEI(3)

NAME
       ieee1284_get_deviceid - retrieve an IEEE 1284 Device ID

SYNOPSIS
       #include <ieee1284.h>

       ssize_t ieee1284_get_deviceid(struct parport *port, int daisy, int flags, char *buffer,
				     size_t len);

DESCRIPTION
       This function is for retrieving the IEEE 1284 Device ID of the specified device. The
       device is specified by the port to which it is attached, and optionally an address (daisy)
       on the daisy chain of devices on that port.

       daisy should be -1 to indicate that the device is not participating in a IEEE 1284.3 daisy
       chain, meaning it is the last (or only) device on the port, or should be a number from 0
       to 3 inclusive to indicate that it has the specified daisy chain address (0 is next to the
       port).

       The flags parameter should be a bitwise union of any flags that the program wants to use.
       Available flags are:

       F1284_FRESH
	   Guarantee a fresh Device ID. A cached or OS-provided ID will not be used.

       The provided buffer must be at least len bytes long, and will contain the Device ID
       including the initial two-byte length field and a terminating zero byte on successful
       return, or as much of the above as will fit into the buffer.

RETURN VALUE
       A return value less than zero indicates an error as below. Otherwise, the return value is
       the number of bytes of buffer that have been filled. A return value equal to the length of
       the buffer indicates that the Device ID may be longer than the buffer will allow.

       E1284_NOID
	   The device did not provide an IEEE 1284 Device ID when interrogated (perhaps by the
	   operating system if F1284_FRESH was not specified).

       E1284_NOTIMPL
	   One or more of the supplied flags is not supported in this implementation, or if no
	   flags were supplied then this function is not implemented for this type of port or
	   this type of system. This can also be returned if a daisy chain address is specified
	   but daisy chain Device IDs are not yet supported.

       E1284_NOTAVAIL
	   F1284_FRESH was specified and the library is unable to access the port to interrogate
	   the device.

       E1284_NOMEM
	   There is not enough memory.

       E1284_INIT
	   There was a problem initializing the port.

       E1284_INVALIDPORT
	   The port parameter is invalid.

NOTES
       Unless the F1284_FRESH flag is given, the library will try to find the device's ID as
       unobtrusively as possible. First it will ask the operating system if it knows it, and then
       it will try actually asking the device for it. Because of this, the Device ID may be
       partially computed (the length field, for example) or even partially missing if the
       operating system has only remembered some parts of the ID. To guarantee that you are
       getting the bytes that the device sent, use F1284_FRESH. Be aware that the operating
       system may allow any user to inspect the Device IDs that it provides, whereas device
       access is normally more restricted.

       The initial two-byte length field is a big-endian 16 bit unsigned integer provided by the
       device and may not be accurate. In particular, it is meant to indicate the length of the
       entire string including the length field itself; however, some manufacturers exclude the
       length field or just set the length field to some arbitrary number greater than the ID
       length.

AUTHOR
       Tim Waugh <twaugh@redhat.com>
	   Author.

COPYRIGHT
       Copyright (C) 2001-2003 Tim Waugh

[FIXME: source] 			    06/17/2014			  IEEE1284_GET_DEVICEI(3)
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums


All times are GMT -4. The time now is 04:11 PM.