1 /* $NetBSD: cfe_ioctl.h,v 1.2 2003/02/07 17:52:08 cgd Exp $ */ 2 3 /* 4 * Copyright 2000, 2001 5 * Broadcom Corporation. All rights reserved. 6 * 7 * This software is furnished under license and may be used and copied only 8 * in accordance with the following terms and conditions. Subject to these 9 * conditions, you may download, copy, install, use, modify and distribute 10 * modified or unmodified copies of this software in source and/or binary 11 * form. No title or ownership is transferred hereby. 12 * 13 * 1) Any source code used, modified or distributed must reproduce and 14 * retain this copyright notice and list of conditions as they appear in 15 * the source file. 16 * 17 * 2) No right is granted to use any trade name, trademark, or logo of 18 * Broadcom Corporation. The "Broadcom Corporation" name may not be 19 * used to endorse or promote products derived from this software 20 * without the prior written permission of Broadcom Corporation. 21 * 22 * 3) THIS SOFTWARE IS PROVIDED "AS-IS" AND ANY EXPRESS OR IMPLIED 23 * WARRANTIES, INCLUDING BUT NOT LIMITED TO, ANY IMPLIED WARRANTIES OF 24 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR 25 * NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL BROADCOM BE LIABLE 26 * FOR ANY DAMAGES WHATSOEVER, AND IN PARTICULAR, BROADCOM SHALL NOT BE 27 * LIABLE FOR DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 28 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 29 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 30 * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 31 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE 32 * OR OTHERWISE), EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 33 */ 34 35 /* ********************************************************************* 36 * Broadcom Common Firmware Environment (CFE) 37 * 38 * IOCTL definitions File: cfe_ioctl.h 39 * 40 * IOCTL function numbers and I/O data structures. 41 * 42 * Author: Mitch Lichtenberg (mpl@broadcom.com) 43 * 44 ********************************************************************* */ 45 46 47 /* ********************************************************************* 48 * NVFAM and FLASH stuff 49 ********************************************************************* */ 50 51 #define IOCTL_NVRAM_GETINFO 1 /* return nvram_info_t */ 52 #define IOCTL_NVRAM_ERASE 2 /* erase sector containing nvram_info_t area */ 53 #define IOCTL_FLASH_ERASE_SECTOR 3 /* erase an arbitrary sector */ 54 #define IOCTL_FLASH_ERASE_ALL 4 /* Erase the entire flash */ 55 56 typedef struct nvram_info_s { 57 int nvram_offset; /* offset of environment area */ 58 int nvram_size; /* size of environment area */ 59 int nvram_eraseflg; /* true if we need to erase first */ 60 } nvram_info_t; 61 62 /* ********************************************************************* 63 * Ethernet stuff 64 ********************************************************************* */ 65 66 #define IOCTL_ETHER_GETHWADDR 1 67 68 /* ********************************************************************* 69 * Block device stuff 70 ********************************************************************* */ 71 72 #define IOCTL_BLOCK_GETBLOCKSIZE 1 73 #define IOCTL_BLOCK_GETTOTALBLOCKS 2 74