`
`1 /*
`2 * ftl.h 1.8 2000/06/12 21:55:40
`3 *
`4 * The contents of this file are subject to the Mozilla Public License
`5 * Version 1.1 (the "License"); you may not use this file except in
`6 * compliance with the License. You may obtain a copy of the License
`7 * at http://www.mozilla.org/MPL/
`8 *
`9 * Software distributed under the License is distributed on an "AS IS"
`10 * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
`11 * the License for the specific language governing rights and
`12 * limitations under the License.
`13 *
`14 * The initial developer of the original code is David A. Hinds
`15 * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
`16 * are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
`17 *
`18 * Alternatively, the contents of this file may be used under the
`19 * terms of the GNU Public License version 2 (the "GPL"), in which
`20 * case the provisions of the GPL are applicable instead of the
`21 * above. If you wish to allow the use of your version of this file
`22 * only under the terms of the GPL and not to allow others to use
`23 * your version of this file under the MPL, indicate your decision by
`24 * deleting the provisions above and replace them with the notice and
`25 * other provisions required by the GPL. If you do not delete the
`26 * provisions above, a recipient may use your version of this file
`27 * under either the MPL or the GPL.
`28 */
`29
`30 #ifndef _LINUX_FTL_H
`31 #define _LINUX_FTL_H
`32
`33 typedef struct erase_unit_header_t {
`LinkTargetTuple[5];
`34
`u_char
`DataOrgTuple[10];
`35
`u_char
`NumTransferUnits;
`36
`u_char
`EraseCount;
`37
`u_int
`u_short LogicalEUN;
`38
`BlockSize;
`39
`u_char
`EraseUnitSize;
`40
`u_char
`u_short FirstPhysicalEUN;
`41
`u_short NumEraseUnits;
`42
`FormattedSize;
`43
`u_int
`FirstVMAddress;
`44
`u_int
`u_short NumVMPages;
`45
`Flags;
`46
`u_char
`Code;
`47
`u_char
`SerialNumber;
`48
`u_int
`AltEUHOffset;
`49
`u_int
`BAMOffset;
`50
`u_int
`Reserved[12];
`51
`u_char
`EndTuple[2];
`52
`u_char
`53 } erase_unit_header_t;
`
`-1-
`
`APPLE INC.
`EXHIBIT 1030 - PAGE 0001
`
`
`
`ftl.h
`
`0x02
`
`0x04
`
`((b) == 0xffffffff)
`(((b) == 0) || ((b) == 0xfffffffe))
`
`54
`55 /* Flags in erase_unit_header_t */
`56 #define HIDDEN_AREA
`0x01
`57 #define REVERSE_POLARITY
`58 #define DOUBLE_BAI
`59
`60 /* Definitions for block allocation information */
`61
`62 #define BLOCK_FREE(b)
`63 #define BLOCK_DELETED(b)
`64
`65 #define BLOCK_TYPE(b)
`66 #define BLOCK_ADDRESS(b)
`67 #define BLOCK_NUMBER(b)
`68 #define BLOCK_CONTROL
`0x40
`69 #define BLOCK_DATA
`70 #define BLOCK_REPLACEMENT
`71 #define BLOCK_BAD
`0x70
`72
`73 #endif /* _LINUX_FTL_H */
`74
`
`((b) & 0x7f)
`((b) & ~0x7f)
`((b) >> 9)
`0x30
`
`0x60
`
`-2-
`
`APPLE INC.
`EXHIBIT 1030 - PAGE 0002