1*72fc9317Sjmcneill /* $NetBSD: hdmicec_if.h,v 1.1 2015/08/01 21:19:24 jmcneill Exp $ */ 2*72fc9317Sjmcneill 3*72fc9317Sjmcneill /*- 4*72fc9317Sjmcneill * Copyright (c) 2015 Jared D. McNeill <jmcneill@invisible.ca> 5*72fc9317Sjmcneill * All rights reserved. 6*72fc9317Sjmcneill * 7*72fc9317Sjmcneill * Redistribution and use in source and binary forms, with or without 8*72fc9317Sjmcneill * modification, are permitted provided that the following conditions 9*72fc9317Sjmcneill * are met: 10*72fc9317Sjmcneill * 1. Redistributions of source code must retain the above copyright 11*72fc9317Sjmcneill * notice, this list of conditions and the following disclaimer. 12*72fc9317Sjmcneill * 2. Redistributions in binary form must reproduce the above copyright 13*72fc9317Sjmcneill * notice, this list of conditions and the following disclaimer in the 14*72fc9317Sjmcneill * documentation and/or other materials provided with the distribution. 15*72fc9317Sjmcneill * 16*72fc9317Sjmcneill * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 17*72fc9317Sjmcneill * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 18*72fc9317Sjmcneill * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 19*72fc9317Sjmcneill * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 20*72fc9317Sjmcneill * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 21*72fc9317Sjmcneill * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 22*72fc9317Sjmcneill * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 23*72fc9317Sjmcneill * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 24*72fc9317Sjmcneill * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 25*72fc9317Sjmcneill * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 26*72fc9317Sjmcneill * SUCH DAMAGE. 27*72fc9317Sjmcneill */ 28*72fc9317Sjmcneill 29*72fc9317Sjmcneill #ifndef _DEV_HDMICEC_HDMICEC_IF_H 30*72fc9317Sjmcneill #define _DEV_HDMICEC_HDMICEC_IF_H 31*72fc9317Sjmcneill 32*72fc9317Sjmcneill #include <sys/types.h> 33*72fc9317Sjmcneill 34*72fc9317Sjmcneill struct hdmicec_hw_if { 35*72fc9317Sjmcneill int (*open)(void *, int); 36*72fc9317Sjmcneill void (*close)(void *); 37*72fc9317Sjmcneill int (*ioctl)(void *, u_long, void *, int, lwp_t *); 38*72fc9317Sjmcneill int (*send)(void *, const uint8_t *, size_t); 39*72fc9317Sjmcneill ssize_t (*recv)(void *, uint8_t *, size_t); 40*72fc9317Sjmcneill int (*poll)(void *, int events, lwp_t *l); 41*72fc9317Sjmcneill }; 42*72fc9317Sjmcneill 43*72fc9317Sjmcneill struct hdmicec_attach_args { 44*72fc9317Sjmcneill void *priv; 45*72fc9317Sjmcneill const struct hdmicec_hw_if *hwif; 46*72fc9317Sjmcneill }; 47*72fc9317Sjmcneill 48*72fc9317Sjmcneill #endif /* !_DEV_HDMICEC_HDMICEC_IF_H */ 49