1*e7c364b6SAndroid Build Coastguard Worker /* 2*e7c364b6SAndroid Build Coastguard Worker * Copyright (C) 2014 The Android Open Source Project 3*e7c364b6SAndroid Build Coastguard Worker * 4*e7c364b6SAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License"); 5*e7c364b6SAndroid Build Coastguard Worker * you may not use this file except in compliance with the License. 6*e7c364b6SAndroid Build Coastguard Worker * You may obtain a copy of the License at 7*e7c364b6SAndroid Build Coastguard Worker * 8*e7c364b6SAndroid Build Coastguard Worker * http://www.apache.org/licenses/LICENSE-2.0 9*e7c364b6SAndroid Build Coastguard Worker * 10*e7c364b6SAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software 11*e7c364b6SAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS, 12*e7c364b6SAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*e7c364b6SAndroid Build Coastguard Worker * See the License for the specific language governing permissions and 14*e7c364b6SAndroid Build Coastguard Worker * limitations under the License. 15*e7c364b6SAndroid Build Coastguard Worker */ 16*e7c364b6SAndroid Build Coastguard Worker 17*e7c364b6SAndroid Build Coastguard Worker #ifndef __FUSE_SIDELOAD_H 18*e7c364b6SAndroid Build Coastguard Worker #define __FUSE_SIDELOAD_H 19*e7c364b6SAndroid Build Coastguard Worker 20*e7c364b6SAndroid Build Coastguard Worker #include <memory> 21*e7c364b6SAndroid Build Coastguard Worker 22*e7c364b6SAndroid Build Coastguard Worker #include "fuse_provider.h" 23*e7c364b6SAndroid Build Coastguard Worker 24*e7c364b6SAndroid Build Coastguard Worker // Define the filenames created by the sideload FUSE filesystem. 25*e7c364b6SAndroid Build Coastguard Worker static constexpr const char* FUSE_SIDELOAD_HOST_MOUNTPOINT = "/sideload"; 26*e7c364b6SAndroid Build Coastguard Worker static constexpr const char* FUSE_SIDELOAD_HOST_FILENAME = "package.zip"; 27*e7c364b6SAndroid Build Coastguard Worker static constexpr const char* FUSE_SIDELOAD_HOST_PATHNAME = "/sideload/package.zip"; 28*e7c364b6SAndroid Build Coastguard Worker static constexpr const char* FUSE_SIDELOAD_HOST_EXIT_FLAG = "exit"; 29*e7c364b6SAndroid Build Coastguard Worker static constexpr const char* FUSE_SIDELOAD_HOST_EXIT_PATHNAME = "/sideload/exit"; 30*e7c364b6SAndroid Build Coastguard Worker 31*e7c364b6SAndroid Build Coastguard Worker int run_fuse_sideload(std::unique_ptr<FuseDataProvider>&& provider, 32*e7c364b6SAndroid Build Coastguard Worker const char* mount_point = FUSE_SIDELOAD_HOST_MOUNTPOINT); 33*e7c364b6SAndroid Build Coastguard Worker 34*e7c364b6SAndroid Build Coastguard Worker #endif 35