#ifndef _SYS_DADA_IMPL_UDCD_H
#define _SYS_DADA_IMPL_UDCD_H
#pragma ident "%Z%%M% %I% %E% SMI"
#ifdef __cplusplus
extern "C" {
#endif
struct udcd_cmd {
uchar_t udcd_error_reg;
uchar_t udcd_status_reg;
ushort_t udcd_status;
ushort_t udcd_timeout;
int udcd_flags;
uint_t udcd_resid;
uint_t udcd_buflen;
caddr_t udcd_bufaddr;
struct dcd_cmd *udcd_cmd;
caddr_t udcd_reserved;
uint_t version_no;
};
#if defined(_SYSCALL32)
struct udcd_cmd32 {
uchar_t udcd_error_reg;
uchar_t udcd_status_reg;
ushort_t udcd_status;
ushort_t udcd_timeout;
int udcd_flags;
uint_t udcd_resid;
uint_t udcd_buflen;
caddr32_t udcd_bufaddr;
caddr32_t udcd_cmd;
caddr32_t udcd_reserved;
uint_t version_no;
};
#define udcd_cmd32toudcd_cmd(u32, ucmd) \
ucmd->udcd_error_reg = u32->udcd_error_reg; \
ucmd->udcd_status_reg = u32->udcd_status_reg; \
ucmd->udcd_status = u32->udcd_status; \
ucmd->udcd_timeout = u32->udcd_timeout; \
ucmd->udcd_flags = u32->udcd_flags; \
ucmd->udcd_resid = u32->udcd_resid; \
ucmd->udcd_buflen = u32->udcd_buflen; \
ucmd->udcd_bufaddr = (caddr_t)(uintptr_t)u32->udcd_bufaddr; \
ucmd->udcd_cmd = (struct dcd_cmd *)(uintptr_t)u32->udcd_cmd; \
ucmd->udcd_reserved = (caddr_t)(uintptr_t)u32->udcd_reserved; \
ucmd->version_no = u32->version_no;
#define udcd_cmdtoudcd_cmd32(ucmd, u32) \
u32->udcd_error_reg = ucmd->udcd_error_reg; \
u32->udcd_status_reg = ucmd->udcd_status_reg; \
u32->udcd_status = ucmd->udcd_status; \
u32->udcd_timeout = ucmd->udcd_timeout; \
u32->udcd_flags = ucmd->udcd_flags; \
u32->udcd_resid = ucmd->udcd_resid; \
u32->udcd_buflen = ucmd->udcd_buflen; \
u32->udcd_bufaddr = (caddr32_t)(uintptr_t)ucmd->udcd_bufaddr; \
u32->udcd_cmd = (caddr32_t)(uintptr_t)ucmd->udcd_cmd; \
u32->udcd_reserved = (caddr32_t)(uintptr_t)ucmd->udcd_reserved; \
u32->version_no = ucmd->version_no;
#endif
#define UDCD_WRITE 0x00000
#define UDCD_SILENT 0x00001
#define UDCD_DIAGNOSE 0x00002
#define UDCD_ISOLATE 0x00004
#define UDCD_READ 0x00008
#define UDCD_NOINTR 0x00040
#define UDCD_RESET 0x04000
#define UDCDIOC (0x05 << 8)
#define UDCDCMD (UDCDIOC|201)
#ifdef __cplusplus
}
#endif
#endif