/* $NetBSD: ppbus_device.h,v 1.6 2008/04/15 15:02:29 cegger Exp $ */ #ifndef __PPBUS_DEVICE_H #define __PPBUS_DEVICE_H #include #include /* Parallel Port Bus Device context. */ struct ppbus_context { int valid; /* 1 if the struct is valid */ int mode; /* XXX chipset operating mode */ struct microseq *curpc; /* pc in curmsq */ struct microseq *curmsq; /* currently executed microseqence */ }; /* Parallel Port Bus Device structure. */ struct ppbus_device_softc { device_t sc_dev; u_int16_t mode; /* current mode of the device */ u_int16_t capabilities; /* ppbus capabilities */ /* uint flags; flags */ struct ppbus_context ctx; /* context of the device */ /* mode dependent get msq. If NULL, * IEEE1284 code is used */ struct ppbus_xfer get_xfer[PPBUS_MAX_XFER]; /* mode dependent put msq. If NULL, * IEEE1284 code is used */ struct ppbus_xfer put_xfer[PPBUS_MAX_XFER]; /* Each structure is a node in a list of child devices */ SLIST_ENTRY(ppbus_device_softc) entries; }; struct ppbus_attach_args { /* Available IEEE1284 modes */ u_int16_t capabilities; /* Flags? u_int16_t flags;*/ }; #endif /* __PPBUS_DEVICE_H */