1963295ea105314e28e4ca9563aa09cb7440de4c3Andres Morales/*
2963295ea105314e28e4ca9563aa09cb7440de4c3Andres Morales * Copyright (C) 2014 The Android Open Source Project
3963295ea105314e28e4ca9563aa09cb7440de4c3Andres Morales *
4963295ea105314e28e4ca9563aa09cb7440de4c3Andres Morales * Licensed under the Apache License, Version 2.0 (the "License");
5963295ea105314e28e4ca9563aa09cb7440de4c3Andres Morales * you may not use this file except in compliance with the License.
6963295ea105314e28e4ca9563aa09cb7440de4c3Andres Morales * You may obtain a copy of the License at
7963295ea105314e28e4ca9563aa09cb7440de4c3Andres Morales *
8963295ea105314e28e4ca9563aa09cb7440de4c3Andres Morales *      http://www.apache.org/licenses/LICENSE-2.0
9963295ea105314e28e4ca9563aa09cb7440de4c3Andres Morales *
10963295ea105314e28e4ca9563aa09cb7440de4c3Andres Morales * Unless required by applicable law or agreed to in writing, software
11963295ea105314e28e4ca9563aa09cb7440de4c3Andres Morales * distributed under the License is distributed on an "AS IS" BASIS,
12963295ea105314e28e4ca9563aa09cb7440de4c3Andres Morales * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13963295ea105314e28e4ca9563aa09cb7440de4c3Andres Morales * See the License for the specific language governing permissions and
14963295ea105314e28e4ca9563aa09cb7440de4c3Andres Morales * limitations under the License.
15963295ea105314e28e4ca9563aa09cb7440de4c3Andres Morales */
16963295ea105314e28e4ca9563aa09cb7440de4c3Andres Morales
1768d4acd205e8c2da524e62734ca42847306cc029Andres Moralespackage android.service.persistentdata;
1868d4acd205e8c2da524e62734ca42847306cc029Andres Morales
1968d4acd205e8c2da524e62734ca42847306cc029Andres Moralesimport android.os.ParcelFileDescriptor;
2068d4acd205e8c2da524e62734ca42847306cc029Andres Morales
2168d4acd205e8c2da524e62734ca42847306cc029Andres Morales/**
2268d4acd205e8c2da524e62734ca42847306cc029Andres Morales * Internal interface through which to communicate to the
2368d4acd205e8c2da524e62734ca42847306cc029Andres Morales * PersistentDataBlockService. The persistent data block allows writing
2468d4acd205e8c2da524e62734ca42847306cc029Andres Morales * raw data and setting the OEM unlock enabled/disabled bit contained
2568d4acd205e8c2da524e62734ca42847306cc029Andres Morales * in the partition.
2668d4acd205e8c2da524e62734ca42847306cc029Andres Morales *
2768d4acd205e8c2da524e62734ca42847306cc029Andres Morales * @hide
2868d4acd205e8c2da524e62734ca42847306cc029Andres Morales */
2968d4acd205e8c2da524e62734ca42847306cc029Andres Moralesinterface IPersistentDataBlockService {
3068d4acd205e8c2da524e62734ca42847306cc029Andres Morales    int write(in byte[] data);
31963295ea105314e28e4ca9563aa09cb7440de4c3Andres Morales    byte[] read();
32963295ea105314e28e4ca9563aa09cb7440de4c3Andres Morales    void wipe();
3368d4acd205e8c2da524e62734ca42847306cc029Andres Morales    int getDataBlockSize();
34963295ea105314e28e4ca9563aa09cb7440de4c3Andres Morales    long getMaximumDataBlockSize();
3568d4acd205e8c2da524e62734ca42847306cc029Andres Morales
3668d4acd205e8c2da524e62734ca42847306cc029Andres Morales    void setOemUnlockEnabled(boolean enabled);
3768d4acd205e8c2da524e62734ca42847306cc029Andres Morales    boolean getOemUnlockEnabled();
3874e9b18b2de2127e081b170cdd4622193cfb7543Andres Morales    int getFlashLockState();
397374d3a4bca6bfbf7da1ef5dbf0db9f35f0c8315Adrian Roos    boolean hasFrpCredentialHandle();
4068d4acd205e8c2da524e62734ca42847306cc029Andres Morales}
4174e9b18b2de2127e081b170cdd4622193cfb7543Andres Morales
42