Home | History | Annotate | Download | only in keystore
      1 // Copyright 2017 The Android Open Source Project
      2 //
      3 // Licensed under the Apache License, Version 2.0 (the "License");
      4 // you may not use this file except in compliance with the License.
      5 // You may obtain a copy of the License at
      6 //
      7 //      http://www.apache.org/licenses/LICENSE-2.0
      8 //
      9 // Unless required by applicable law or agreed to in writing, software
     10 // distributed under the License is distributed on an "AS IS" BASIS,
     11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     12 // See the License for the specific language governing permissions and
     13 // limitations under the License.
     14 
     15 #ifndef KEYSTORE_INCLUDE_KEYSTORE_OPERATIONRESULT_H_
     16 #define KEYSTORE_INCLUDE_KEYSTORE_OPERATIONRESULT_H_
     17 
     18 #include <binder/Parcel.h>
     19 #include <binder/Parcelable.h>
     20 
     21 #include "keymaster_types.h"
     22 #include "keystore_return_types.h"
     23 
     24 namespace android {
     25 namespace security {
     26 namespace keymaster {
     27 
     28 struct OperationResult : public ::android::Parcelable {
     29     OperationResult();
     30     status_t readFromParcel(const Parcel* in) override;
     31     status_t writeToParcel(Parcel* out) const override;
     32 
     33     // Native code may need to use KeyStoreNativeReturnCode
     34     ::keystore::KeyStoreServiceReturnCode resultCode;
     35     sp<IBinder> token;
     36     uint64_t handle;
     37     int inputConsumed;
     38     ::keystore::hidl_vec<uint8_t> data;
     39     ::keystore::hidl_vec<::keystore::KeyParameter> outParams;
     40 };
     41 
     42 }  // namespace keymaster
     43 }  // namespace security
     44 }  // namespace android
     45 
     46 #endif  // KEYSTORE_INCLUDE_KEYSTORE_OPERATIONRESULT_H_
     47