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