Home | History | Annotate | Line # | Download | only in ppbus
      1 /* $NetBSD: ppbus_device.h,v 1.6 2008/04/15 15:02:29 cegger Exp $ */
      2 
      3 #ifndef __PPBUS_DEVICE_H
      4 #define __PPBUS_DEVICE_H
      5 
      6 #include <sys/device.h>
      7 
      8 #include <dev/ppbus/ppbus_msq.h>
      9 
     10 
     11 /* Parallel Port Bus Device context. */
     12 struct ppbus_context {
     13         int valid;                      /* 1 if the struct is valid */
     14 	int mode;                       /* XXX chipset operating mode */
     15 	struct microseq *curpc;         /* pc in curmsq */
     16 	struct microseq *curmsq;        /* currently executed microseqence */
     17 };
     18 
     19 /* Parallel Port Bus Device structure. */
     20 struct ppbus_device_softc {
     21         device_t sc_dev;
     22 
     23 	u_int16_t mode;			/* current mode of the device */
     24 	u_int16_t capabilities;		/* ppbus capabilities */
     25 
     26 	/* uint flags;                     flags */
     27 	struct ppbus_context ctx;       /* context of the device */
     28 
     29 					/* mode dependent get msq. If NULL,
     30 				 	 * IEEE1284 code is used */
     31 	struct ppbus_xfer
     32 		get_xfer[PPBUS_MAX_XFER];
     33 
     34 					/* mode dependent put msq. If NULL,
     35 					 * IEEE1284 code is used */
     36 	struct ppbus_xfer
     37 		put_xfer[PPBUS_MAX_XFER];
     38 
     39 	/* Each structure is a node in a list of child devices */
     40 	SLIST_ENTRY(ppbus_device_softc) entries;
     41 };
     42 
     43 struct ppbus_attach_args {
     44 	/* Available IEEE1284 modes */
     45 	u_int16_t capabilities;
     46 
     47 	/* Flags?
     48 	u_int16_t flags;*/
     49 };
     50 
     51 #endif /* __PPBUS_DEVICE_H */
     52