iBoot/lib/effaceable/common/effaceable_context.h

65 lines
1.7 KiB
C

/*
* Copyright (c) 2011 Apple Inc. All rights reserved.
*
* This document is the property of Apple Inc.
* It is considered confidential and proprietary.
*
* This document may not be reproduced or transmitted in any form,
* in whole or in part, without the express written permission of
* Apple Inc.
*/
#ifndef _EFFACEABLE_CONTEXT_H_
#define _EFFACEABLE_CONTEXT_H_
// =============================================================================
struct _effaceable_nand_context
{
void * buf;
effaceable_storage_t * storage;
effaceable_system_t * system;
effaceable_nand_hal_t * nand;
};
// =============================================================================
struct _effaceable_nor_context
{
effaceable_storage_t * storage;
effaceable_system_t * system;
effaceable_nor_hal_t * nor;
};
// =============================================================================
struct _effaceable_storage_context
{
bool enable_full_scan;
bool enable_wipe;
bool is_formatted;
uint32_t generation;
uint32_t group;
void * cache;
void * scratch;
void * sniff;
void * crypt;
void * nonce_hash;
locker_list_t locker_list;
effaceable_system_t * system;
effaceable_device_t * device;
};
// =============================================================================
typedef struct _effaceable_nor_context effaceable_nor_context_t;
typedef struct _effaceable_nand_context effaceable_nand_context_t;
typedef struct _effaceable_storage_context effaceable_storage_context_t;
// =============================================================================
#endif /* _EFFACEABLE_CONTEXT_H_ */