/* ** ** Copyright 2010, The Android Open Source Project ** ** Licensed under the Apache License, Version 2.0 (the "License"); ** you may not use this file except in compliance with the License. ** You may obtain a copy of the License at ** ** http://www.apache.org/licenses/LICENSE-2.0 ** ** Unless required by applicable law or agreed to in writing, software ** distributed under the License is distributed on an "AS IS" BASIS, ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ** See the License for the specific language governing permissions and ** limitations under the License. */ #ifndef RUN_AS_PACKAGE_H #define RUN_AS_PACKAGE_H #include <limits.h> #include <sys/types.h> typedef enum { PACKAGE_IS_DEBUGGABLE = 0, PACKAGE_IS_NOT_DEBUGGABLE, PACKAGE_IS_UNKNOWN, } PackageStatus; typedef struct { uid_t uid; char isDebuggable; char dataDir[PATH_MAX]; char seinfo[PATH_MAX]; } PackageInfo; /* see documentation in package.c for these functions */ extern int get_package_info(const char* packageName, uid_t userId, PackageInfo* info); extern int check_data_path(const char* dataDir, uid_t uid); #endif /* RUN_AS_PACKAGE_H */