1*c4df96adSplunky /* $NetBSD: mbppio.h,v 1.2 2008/07/02 10:16:20 plunky Exp $ */ 2*c4df96adSplunky 3*c4df96adSplunky /*- 4062294ccSpk * Copyright (c) 1998 Iain Hibbert 5062294ccSpk * All rights reserved. 6062294ccSpk * 7062294ccSpk * Redistribution and use in source and binary forms, with or without 8062294ccSpk * modification, are permitted provided that the following conditions 9062294ccSpk * are met: 10062294ccSpk * 1. Redistributions of source code must retain the above copyright 11062294ccSpk * notice, this list of conditions and the following disclaimer. 12062294ccSpk * 2. Redistributions in binary form must reproduce the above copyright 13062294ccSpk * notice, this list of conditions and the following disclaimer in the 14062294ccSpk * documentation and/or other materials provided with the distribution. 15062294ccSpk * 16*c4df96adSplunky * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 17*c4df96adSplunky * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 18*c4df96adSplunky * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 19*c4df96adSplunky * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 20*c4df96adSplunky * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 21*c4df96adSplunky * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 22*c4df96adSplunky * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 23*c4df96adSplunky * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24*c4df96adSplunky * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 25*c4df96adSplunky * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26062294ccSpk */ 27062294ccSpk 28062294ccSpk #include <sys/ioctl.h> 29062294ccSpk 30062294ccSpk struct mbpp_param { 31062294ccSpk int bp_burst; /* chars to send/recv in one call */ 32062294ccSpk int bp_timeout; /* timeout: -1 blocking, 0 non blocking >0 ms */ 33062294ccSpk int bp_delay; /* delay between polls (ms) */ 34062294ccSpk }; 35062294ccSpk 36062294ccSpk #define MBPP_BLOCK -1 37062294ccSpk #define MBPP_NOBLOCK 0 38062294ccSpk 39062294ccSpk /* defaults */ 40062294ccSpk #define MBPP_BURST 1024 41062294ccSpk #define MBPP_TIMEOUT MBPP_BLOCK 42062294ccSpk #define MBPP_DELAY 10 43062294ccSpk 44062294ccSpk /* limits */ 45062294ccSpk #define MBPP_BURST_MIN 1 46062294ccSpk #define MBPP_BURST_MAX 1024 47062294ccSpk #define MBPP_DELAY_MIN 0 48062294ccSpk #define MBPP_DELAY_MAX 30000 49062294ccSpk 50062294ccSpk /* status bits */ 51062294ccSpk #define MBPP_BUSY (1<<0) 52062294ccSpk #define MBPP_PAPER (1<<1) 53062294ccSpk 54062294ccSpk /* ioctl commands */ 55062294ccSpk #define MBPPIOCSPARAM _IOW('P', 0x1, struct mbpp_param) 56062294ccSpk #define MBPPIOCGPARAM _IOR('P', 0x2, struct mbpp_param) 57062294ccSpk #define MBPPIOCGSTAT _IOR('P', 0x4, int) 58