package.h revision 1f4d95296acf34a93128332441782a80c10845b4
11f4d95296acf34a93128332441782a80c10845b4David 'Digit' Turner/* 21f4d95296acf34a93128332441782a80c10845b4David 'Digit' Turner** 31f4d95296acf34a93128332441782a80c10845b4David 'Digit' Turner** Copyright 2010, The Android Open Source Project 41f4d95296acf34a93128332441782a80c10845b4David 'Digit' Turner** 51f4d95296acf34a93128332441782a80c10845b4David 'Digit' Turner** Licensed under the Apache License, Version 2.0 (the "License"); 61f4d95296acf34a93128332441782a80c10845b4David 'Digit' Turner** you may not use this file except in compliance with the License. 71f4d95296acf34a93128332441782a80c10845b4David 'Digit' Turner** You may obtain a copy of the License at 81f4d95296acf34a93128332441782a80c10845b4David 'Digit' Turner** 91f4d95296acf34a93128332441782a80c10845b4David 'Digit' Turner** http://www.apache.org/licenses/LICENSE-2.0 101f4d95296acf34a93128332441782a80c10845b4David 'Digit' Turner** 111f4d95296acf34a93128332441782a80c10845b4David 'Digit' Turner** Unless required by applicable law or agreed to in writing, software 121f4d95296acf34a93128332441782a80c10845b4David 'Digit' Turner** distributed under the License is distributed on an "AS IS" BASIS, 131f4d95296acf34a93128332441782a80c10845b4David 'Digit' Turner** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 141f4d95296acf34a93128332441782a80c10845b4David 'Digit' Turner** See the License for the specific language governing permissions and 151f4d95296acf34a93128332441782a80c10845b4David 'Digit' Turner** limitations under the License. 161f4d95296acf34a93128332441782a80c10845b4David 'Digit' Turner*/ 171f4d95296acf34a93128332441782a80c10845b4David 'Digit' Turner#ifndef RUN_AS_PACKAGE_H 181f4d95296acf34a93128332441782a80c10845b4David 'Digit' Turner#define RUN_AS_PACKAGE_H 191f4d95296acf34a93128332441782a80c10845b4David 'Digit' Turner 201f4d95296acf34a93128332441782a80c10845b4David 'Digit' Turner#include <limits.h> 211f4d95296acf34a93128332441782a80c10845b4David 'Digit' Turner#include <sys/types.h> 221f4d95296acf34a93128332441782a80c10845b4David 'Digit' Turner 231f4d95296acf34a93128332441782a80c10845b4David 'Digit' Turnertypedef enum { 241f4d95296acf34a93128332441782a80c10845b4David 'Digit' Turner PACKAGE_IS_DEBUGGABLE = 0, 251f4d95296acf34a93128332441782a80c10845b4David 'Digit' Turner PACKAGE_IS_NOT_DEBUGGABLE, 261f4d95296acf34a93128332441782a80c10845b4David 'Digit' Turner PACKAGE_IS_UNKNOWN, 271f4d95296acf34a93128332441782a80c10845b4David 'Digit' Turner} PackageStatus; 281f4d95296acf34a93128332441782a80c10845b4David 'Digit' Turner 291f4d95296acf34a93128332441782a80c10845b4David 'Digit' Turnertypedef struct { 301f4d95296acf34a93128332441782a80c10845b4David 'Digit' Turner uid_t uid; 311f4d95296acf34a93128332441782a80c10845b4David 'Digit' Turner char isDebuggable; 321f4d95296acf34a93128332441782a80c10845b4David 'Digit' Turner char dataDir[PATH_MAX]; 331f4d95296acf34a93128332441782a80c10845b4David 'Digit' Turner} PackageInfo; 341f4d95296acf34a93128332441782a80c10845b4David 'Digit' Turner 351f4d95296acf34a93128332441782a80c10845b4David 'Digit' Turner/* see documentation in package.c for these functiosn */ 361f4d95296acf34a93128332441782a80c10845b4David 'Digit' Turner 371f4d95296acf34a93128332441782a80c10845b4David 'Digit' Turnerextern int get_package_info(const char* packageName, PackageInfo* info); 381f4d95296acf34a93128332441782a80c10845b4David 'Digit' Turner 391f4d95296acf34a93128332441782a80c10845b4David 'Digit' Turnerextern int check_data_path(const char* dataDir, uid_t uid); 401f4d95296acf34a93128332441782a80c10845b4David 'Digit' Turner 411f4d95296acf34a93128332441782a80c10845b4David 'Digit' Turner#endif /* RUN_AS_PACKAGE_H */ 42