1/****************************************************************************** 2 * 3 * Copyright (C) 2002-2012 Broadcom Corporation 4 * 5 * Licensed under the Apache License, Version 2.0 (the "License"); 6 * you may not use this file except in compliance with the License. 7 * You may obtain a copy of the License at: 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 * 17 ******************************************************************************/ 18 19/****************************************************************************** 20 * 21 * This file contains NV definitions from WIDCOMM's Universal Embedded 22 * Drivers API. 23 * 24 ******************************************************************************/ 25 26#ifndef UNV_H 27#define UNV_H 28 29#include "data_types.h" 30 31/******************************************************************************* 32** NV APIs 33*******************************************************************************/ 34 35/**** Storage preferences ****/ 36#define UNV_BLOCK 1 37#define UNV_BYTE 2 38#define UNV_NOPREF 3 39 40typedef UINT8 tUNV_STORAGE_PREF; 41 42/**** Status ****/ 43#define UNV_REINIT (-1) 44#define UNV_WRITELOCKED (-2) 45#define UNV_ERROR (-3) 46 47typedef INT16 tUNV_STATUS; 48 49/* Prototype for function to restore defaults to a block */ 50typedef void (tUNV_DEFAULT_FUNC)(void); 51 52/******************************************************************************* 53** Function Prototypes 54*******************************************************************************/ 55 56#ifdef __cplusplus 57extern "C" { 58#endif 59 60#ifndef UDRV_API 61#define UDRV_API 62#endif 63 64UDRV_API extern void UNV_Init(void *); 65UDRV_API extern BOOLEAN UNV_MapBlock(UINT16, tUNV_STORAGE_PREF, UINT16, 66 UINT16, UINT16 *, void *); 67UDRV_API extern BOOLEAN UNV_ReadMap(UINT16, tUNV_STORAGE_PREF *, UINT16 *, 68 UINT16 *, UINT16 *); 69UDRV_API extern BOOLEAN UNV_EraseBlock(UINT16); 70UDRV_API extern void UNV_Default(UINT16); 71UDRV_API extern tUNV_STATUS UNV_Read(UINT16, UINT16, UINT16, UINT16, void *); 72UDRV_API extern tUNV_STATUS UNV_Write(UINT16, UINT16, UINT16, UINT16, void *); 73UDRV_API extern tUNV_STATUS UNV_ReadBlock(UINT16, UINT16, void *); 74UDRV_API extern tUNV_STATUS UNV_WriteBlock(UINT16, void *); 75UDRV_API extern UINT32 UNV_BytesRemaining(void); 76UDRV_API extern void UNV_Consolidate(void); 77UDRV_API extern tUNV_STATUS UNV_ReadPtr(UINT16, UINT16, UINT8 **); 78UDRV_API extern tUNV_STATUS UNV_FreePtr(UINT16, UINT16); 79 80#ifdef __cplusplus 81} 82#endif 83 84#endif /* UNV_H */ 85