blob: d264250a07670526fcb4895fc72768ba5a07bfd0 [file] [log] [blame]
Shashank Mittal162244e2011-08-08 19:01:25 -07001/*
Channagoud Kadabiaafbbfc2015-03-04 17:52:56 -08002 * * Copyright (c) 2011,2014-2015, The Linux Foundation. All rights reserved.
Shashank Mittal162244e2011-08-08 19:01:25 -07003 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are
6 * met:
7 * * Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 * * Redistributions in binary form must reproduce the above
10 * copyright notice, this list of conditions and the following
11 * disclaimer in the documentation and/or other materials provided
12 * with the distribution.
Duy Truongf3ac7b32013-02-13 01:07:28 -080013 * * Neither the name of The Linux Foundation nor the names of its
Shashank Mittal162244e2011-08-08 19:01:25 -070014 * contributors may be used to endorse or promote products derived
15 * from this software without specific prior written permission.
16 *
17 * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
18 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
19 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
20 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
21 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
24 * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
25 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
26 * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
27 * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 */
29
30#ifndef _DEVINFO_H_
31#define _DEVINFO_H_
32
33typedef struct device_info device_info;
34
35#define DEVICE_MAGIC "ANDROID-BOOT!"
36#define DEVICE_MAGIC_SIZE 13
Unnati Gandhi62c8ab82014-01-24 11:01:01 +053037#define MAX_PANEL_ID_LEN 64
Channagoud Kadabiaafbbfc2015-03-04 17:52:56 -080038#define MAX_VERSION_LEN 64
Monika Singh292b3e92018-03-17 22:40:23 +053039#define MAX_VB_PARTITIONS 32
40#define MAX_USER_KEY_SIZE 2048
41#define SHA256_DIGEST_LENGTH 32
Shashank Mittal162244e2011-08-08 19:01:25 -070042
lijuang4ece1e72015-08-14 21:02:36 +080043enum unlock_type {
44 UNLOCK = 0,
45 UNLOCK_CRITICAL,
46};
Mayank Grover889be1b2017-09-12 20:12:23 +053047
Shashank Mittal162244e2011-08-08 19:01:25 -070048struct device_info
49{
50 unsigned char magic[DEVICE_MAGIC_SIZE];
51 bool is_unlocked;
Shashank Mittala0032282011-08-26 14:50:11 -070052 bool is_tampered;
lijuang511a2b52015-08-14 20:50:51 +080053 bool is_unlock_critical;
Ameya Thakur11cf1a62013-08-05 12:44:48 -070054 bool charger_screen_enabled;
Unnati Gandhi62c8ab82014-01-24 11:01:01 +053055 char display_panel[MAX_PANEL_ID_LEN];
Channagoud Kadabiaafbbfc2015-03-04 17:52:56 -080056 char bootloader_version[MAX_VERSION_LEN];
57 char radio_version[MAX_VERSION_LEN];
Sridhar Parasuramd69f7902015-07-10 13:31:17 -070058 bool verity_mode; // 1 = enforcing, 0 = logging
Monika Singh292b3e92018-03-17 22:40:23 +053059 uint64_t rollback_index[MAX_VB_PARTITIONS];
60 uint32_t user_public_key_length;
61 uint8_t user_public_key[MAX_USER_KEY_SIZE];
Shashank Mittal162244e2011-08-08 19:01:25 -070062};
tracychuid184b912020-06-05 17:31:38 +080063/*[20200605][TracyChui] Implement get Serial Number start*/
64#if defined(ENABLE_PRODINFO_ACCESS)
65typedef struct prod_info prod_info;
66
67#define PRODINFO_MAGIC "ANDROID!PRODINFO"
68#define PRODINFO_MAGIC_SIZE 16
69#define PRODINFO_MAX_ISN_LEN 32
70#define PRODINFO_MAX_SSN_LEN 32
71struct prod_info
72{
73 unsigned char magic[PRODINFO_MAGIC_SIZE];
74 unsigned char isn[PRODINFO_MAX_ISN_LEN];
75 unsigned char ssn[PRODINFO_MAX_SSN_LEN];
76 bool is_adb_enabled;
77};
78
79void read_prod_info(prod_info *dev);
80#endif
81/*[20200605][TracyChui] Implement get Serial Number end*/
Parth Dixit6f5822f2015-10-18 01:20:53 +053082#endif