1*7302Sgdamore@opensolaris.org /* 2*7302Sgdamore@opensolaris.org * CDDL HEADER START 3*7302Sgdamore@opensolaris.org * 4*7302Sgdamore@opensolaris.org * The contents of this file are subject to the terms of the 5*7302Sgdamore@opensolaris.org * Common Development and Distribution License (the "License"). 6*7302Sgdamore@opensolaris.org * You may not use this file except in compliance with the License. 7*7302Sgdamore@opensolaris.org * 8*7302Sgdamore@opensolaris.org * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9*7302Sgdamore@opensolaris.org * or http://www.opensolaris.org/os/licensing. 10*7302Sgdamore@opensolaris.org * See the License for the specific language governing permissions 11*7302Sgdamore@opensolaris.org * and limitations under the License. 12*7302Sgdamore@opensolaris.org * 13*7302Sgdamore@opensolaris.org * When distributing Covered Code, include this CDDL HEADER in each 14*7302Sgdamore@opensolaris.org * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15*7302Sgdamore@opensolaris.org * If applicable, add the following below this CDDL HEADER, with the 16*7302Sgdamore@opensolaris.org * fields enclosed by brackets "[]" replaced with your own identifying 17*7302Sgdamore@opensolaris.org * information: Portions Copyright [yyyy] [name of copyright owner] 18*7302Sgdamore@opensolaris.org * 19*7302Sgdamore@opensolaris.org * CDDL HEADER END 20*7302Sgdamore@opensolaris.org */ 21*7302Sgdamore@opensolaris.org /* 22*7302Sgdamore@opensolaris.org * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 23*7302Sgdamore@opensolaris.org * Use is subject to license terms. 24*7302Sgdamore@opensolaris.org */ 25*7302Sgdamore@opensolaris.org 26*7302Sgdamore@opensolaris.org #ifndef _SYS_SDCARD_SDA_IOCTL_H 27*7302Sgdamore@opensolaris.org #define _SYS_SDCARD_SDA_IOCTL_H 28*7302Sgdamore@opensolaris.org 29*7302Sgdamore@opensolaris.org #include <sys/types.h> 30*7302Sgdamore@opensolaris.org 31*7302Sgdamore@opensolaris.org #ifdef __cplusplus 32*7302Sgdamore@opensolaris.org extern "C" { 33*7302Sgdamore@opensolaris.org #endif 34*7302Sgdamore@opensolaris.org 35*7302Sgdamore@opensolaris.org /* 36*7302Sgdamore@opensolaris.org * These IOCTLs are private between the sdcard cfgadm plugin, and the sda 37*7302Sgdamore@opensolaris.org * framework. 38*7302Sgdamore@opensolaris.org */ 39*7302Sgdamore@opensolaris.org 40*7302Sgdamore@opensolaris.org typedef enum { 41*7302Sgdamore@opensolaris.org SDA_CT_UNKNOWN, 42*7302Sgdamore@opensolaris.org SDA_CT_MMC, 43*7302Sgdamore@opensolaris.org SDA_CT_SDMEM, 44*7302Sgdamore@opensolaris.org SDA_CT_SDHC, 45*7302Sgdamore@opensolaris.org SDA_CT_SDCOMBO, 46*7302Sgdamore@opensolaris.org SDA_CT_SDIO /* expand on this later */ 47*7302Sgdamore@opensolaris.org } sda_card_type_t; 48*7302Sgdamore@opensolaris.org 49*7302Sgdamore@opensolaris.org typedef struct { 50*7302Sgdamore@opensolaris.org 51*7302Sgdamore@opensolaris.org sda_card_type_t ci_type; 52*7302Sgdamore@opensolaris.org 53*7302Sgdamore@opensolaris.org /* these are only valid for memory cards */ 54*7302Sgdamore@opensolaris.org uint32_t ci_mfg; 55*7302Sgdamore@opensolaris.org char ci_oem[16]; /* mfg id */ 56*7302Sgdamore@opensolaris.org char ci_pid[16]; /* ASCIIZ product */ 57*7302Sgdamore@opensolaris.org uint32_t ci_serial; 58*7302Sgdamore@opensolaris.org uint8_t ci_month; 59*7302Sgdamore@opensolaris.org uint8_t ci_year; 60*7302Sgdamore@opensolaris.org uint8_t ci_major; 61*7302Sgdamore@opensolaris.org uint8_t ci_minor; 62*7302Sgdamore@opensolaris.org } sda_card_info_t; 63*7302Sgdamore@opensolaris.org 64*7302Sgdamore@opensolaris.org struct sda_ap_control { 65*7302Sgdamore@opensolaris.org unsigned cmd; 66*7302Sgdamore@opensolaris.org size_t size; 67*7302Sgdamore@opensolaris.org void *data; 68*7302Sgdamore@opensolaris.org }; 69*7302Sgdamore@opensolaris.org 70*7302Sgdamore@opensolaris.org #ifdef _KERNEL 71*7302Sgdamore@opensolaris.org struct sda_ap_control32 { 72*7302Sgdamore@opensolaris.org unsigned cmd; 73*7302Sgdamore@opensolaris.org size32_t size; 74*7302Sgdamore@opensolaris.org caddr32_t data; 75*7302Sgdamore@opensolaris.org }; 76*7302Sgdamore@opensolaris.org #endif 77*7302Sgdamore@opensolaris.org 78*7302Sgdamore@opensolaris.org /* AP_CONTROL commands */ 79*7302Sgdamore@opensolaris.org #define SDA_CFGA_GET_CARD_INFO 1 80*7302Sgdamore@opensolaris.org #define SDA_CFGA_GET_DEVICE_PATH 2 81*7302Sgdamore@opensolaris.org #define SDA_CFGA_RESET_SLOT 3 82*7302Sgdamore@opensolaris.org 83*7302Sgdamore@opensolaris.org #ifdef __cplusplus 84*7302Sgdamore@opensolaris.org } 85*7302Sgdamore@opensolaris.org #endif 86*7302Sgdamore@opensolaris.org 87*7302Sgdamore@opensolaris.org #endif /* _SYS_SDCARD_SDA_IOCTL_H */ 88