tgdk_obj
struct tgdk_obj *dk_tgobjp; /* target disk object pointer */
int dadk_free(struct tgdk_obj *dkobjp);
void dadk_cleanup(struct tgdk_obj *dkobjp);
(((struct tgdk_obj *)(X))->tg_ext->tg_nodetype = (char *)(Y))
#define TGDK_RMB(X) (((struct tgdk_obj *)(X))->tg_ext->tg_rmb)
#define TGDK_RDONLY(X) (((struct tgdk_obj *)(X))->tg_ext->tg_rdonly)
#define TGDK_GETCTYPE(X) (((struct tgdk_obj *)(X))->tg_ext->tg_ctype)
(*((struct tgdk_obj *)(X))->tg_ops->tg_init) \
(((struct tgdk_obj *)(X))->tg_data, (devp), (flcobjp), \
(*((struct tgdk_obj *)(X))->tg_ops->tg_init) \
(((struct tgdk_obj *)(X))->tg_data, (devp), (flcobjp), \
#define TGDK_FREE(X) (*((struct tgdk_obj *)(X))->tg_ops->tg_free) ((X))
#define TGDK_PROBE(X, WAIT) (*((struct tgdk_obj *)(X))->tg_ops->tg_probe) \
(((struct tgdk_obj *)(X))->tg_data, (WAIT))
#define TGDK_ATTACH(X) (*((struct tgdk_obj *)(X))->tg_ops->tg_attach) \
(((struct tgdk_obj *)(X))->tg_data)
#define TGDK_OPEN(X, flag) (*((struct tgdk_obj *)(X))->tg_ops->tg_open) \
(((struct tgdk_obj *)(X))->tg_data, (flag))
#define TGDK_CLOSE(X) (*((struct tgdk_obj *)(X))->tg_ops->tg_close) \
(((struct tgdk_obj *)(X))->tg_data)
(*((struct tgdk_obj *)(X))->tg_ops->tg_ioctl) \
(((struct tgdk_obj *)(X))->tg_data, (dev), (cmd), (arg), (flag), \
#define TGDK_STRATEGY(X, bp) (*((struct tgdk_obj *)(X))->tg_ops->tg_strategy) \
(((struct tgdk_obj *)(X))->tg_data, (bp))
#define TGDK_GETGEOM(X, datap) (*((struct tgdk_obj *)(X))->tg_ops->tg_getgeom) \
(((struct tgdk_obj *)(X))->tg_data, (datap))
#define TGDK_SETGEOM(X, datap) (*((struct tgdk_obj *)(X))->tg_ops->tg_setgeom) \
(((struct tgdk_obj *)(X))->tg_data, (datap))
(*((struct tgdk_obj *)(X))->tg_ops->tg_iob_alloc) \
(((struct tgdk_obj *)(X))->tg_data, (logblk), (xfer), (sleep))
(*((struct tgdk_obj *)(X))->tg_ops->tg_iob_free) \
(((struct tgdk_obj *)(X))->tg_data, (datap))
(*((struct tgdk_obj *)(X))->tg_ops->tg_iob_htoc) \
(((struct tgdk_obj *)(X))->tg_data, (handle))
(*((struct tgdk_obj *)(X))->tg_ops->tg_iob_xfer) \
(((struct tgdk_obj *)(X))->tg_data, (handle), B_READ)
(*((struct tgdk_obj *)(X))->tg_ops->tg_iob_xfer) \
(((struct tgdk_obj *)(X))->tg_data, (handle), B_WRITE)
#define TGDK_DUMP(X, bp) (*((struct tgdk_obj *)(X))->tg_ops->tg_dump) \
(((struct tgdk_obj *)(X))->tg_data, (bp))
(*((struct tgdk_obj *)(X))->tg_ops->tg_getphygeom) \
(((struct tgdk_obj *)(X))->tg_data, (datap))
(*((struct tgdk_obj *)(X))->tg_ops->tg_set_bbhobj) \
(((struct tgdk_obj *)(X))->tg_data, (objp))
(*((struct tgdk_obj *)(X))->tg_ops->tg_check_media) \
(((struct tgdk_obj *)(X))->tg_data, (state))
(*((struct tgdk_obj *)(X))->tg_ops->tg_inquiry) \
(((struct tgdk_obj *)(X))->tg_data, (inqpp))
#define TGDK_CLEANUP(X) (*((struct tgdk_obj *)(X))->tg_ops->tg_cleanup) ((X))
int (*tg_free)(struct tgdk_obj *);
void (*tg_cleanup)(struct tgdk_obj *);
struct tgdk_obj *dadk_create();
#define TGDK_GETNODETYPE(X) (((struct tgdk_obj *)(X))->tg_ext->tg_nodetype)
struct tgdk_obj *
struct tgdk_obj *dkobjp;
dadk_free(struct tgdk_obj *dkobjp)
dadk_cleanup(struct tgdk_obj *dkobjp)