1 /* 2 * Copyright (C) 2015 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 #pragma once 18 19 #include "block_device_tipc.h" 20 #include "crypt.h" 21 #include "ipc.h" 22 23 /* SSSC (Secure Storage Session Context) */ 24 #define STORAGE_SESSION_MAGIC 0x53535343 25 26 /** 27 * storage_proxy_session 28 * @magic: a sentinel value used for checking for data corruption. 29 * Initialized to STORAGE_SESSION_MAGIC. 30 * @block_device: the file system state 31 * @key: storage encryption key 32 * @proxy_ctx: the context object on the proxy channel 33 */ 34 struct storage_session { 35 uint32_t magic; 36 struct block_device_tipc block_device; 37 struct key key; 38 39 struct ipc_channel_context proxy_ctx; 40 }; 41