/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ /* * linux/include/linux/ppdev.h * * User-space parallel port device driver (header file). * * Copyright (C) 1998-9 Tim Waugh <tim@cyberelk.demon.co.uk> * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version * 2 of the License, or (at your option) any later version. * * Added PPGETTIME/PPSETTIME, Fred Barnes, 1999 * Added PPGETMODES/PPGETMODE/PPGETPHASE, Fred Barnes <frmb2@ukc.ac.uk>, 03/01/2001 */ #ifndef _UAPI_LINUX_PPDEV_H #define _UAPI_LINUX_PPDEV_H #define PP_IOCTL … /* Set mode for read/write (e.g. IEEE1284_MODE_EPP) */ #define PPSETMODE … /* Read status */ #define PPRSTATUS … #define PPWSTATUS … /* Read/write control */ #define PPRCONTROL … #define PPWCONTROL … struct ppdev_frob_struct { … }; #define PPFCONTROL … /* Read/write data */ #define PPRDATA … #define PPWDATA … /* Read/write econtrol (not used) */ #define PPRECONTROL … #define PPWECONTROL … /* Read/write FIFO (not used) */ #define PPRFIFO … #define PPWFIFO … /* Claim the port to start using it */ #define PPCLAIM … /* Release the port when you aren't using it */ #define PPRELEASE … /* Yield the port (release it if another driver is waiting, * then reclaim) */ #define PPYIELD … /* Register device exclusively (must be before PPCLAIM). */ #define PPEXCL … /* Data line direction: non-zero for input mode. */ #define PPDATADIR … /* Negotiate a particular IEEE 1284 mode. */ #define PPNEGOT … /* Set control lines when an interrupt occurs. */ #define PPWCTLONIRQ … /* Clear (and return) interrupt count. */ #define PPCLRIRQ … /* Set the IEEE 1284 phase that we're in (e.g. IEEE1284_PH_FWD_IDLE) */ #define PPSETPHASE … /* Set and get port timeout (struct timeval's) */ #define PPGETTIME … #define PPSETTIME … /* Get available modes (what the hardware can do) */ #define PPGETMODES … /* Get the current mode and phaze */ #define PPGETMODE … #define PPGETPHASE … /* get/set flags */ #define PPGETFLAGS … #define PPSETFLAGS … /* flags visible to the world */ #define PP_FASTWRITE … #define PP_FASTREAD … #define PP_W91284PIC … /* only masks user-visible flags */ #define PP_FLAGMASK … #endif /* _UAPI_LINUX_PPDEV_H */