1e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian/* 2e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian * Copyright (C) 2010 The Android Open Source Project 3e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian * 4e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian * Licensed under the Apache License, Version 2.0 (the "License"); 5e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian * you may not use this file except in compliance with the License. 6e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian * You may obtain a copy of the License at 7e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian * 8e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian * http://www.apache.org/licenses/LICENSE-2.0 9e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian * 10e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian * Unless required by applicable law or agreed to in writing, software 11e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian * distributed under the License is distributed on an "AS IS" BASIS, 12e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian * See the License for the specific language governing permissions and 14e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian * limitations under the License. 15e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian */ 16e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian 17e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian 18e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian#ifndef ANDROID_OBB_H 19e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian#define ANDROID_OBB_H 20e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian 21e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian#include <sys/types.h> 22e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian 23e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian#ifdef __cplusplus 24e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopianextern "C" { 25e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian#endif 26e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian 27e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopianstruct AObbInfo; 28e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopiantypedef struct AObbInfo AObbInfo; 29e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian 30e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopianenum { 31e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian AOBBINFO_OVERLAY = 0x0001, 32e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian}; 33e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian 34e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian/** 35e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian * Scan an OBB and get information about it. 36e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian */ 37e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias AgopianAObbInfo* AObbScanner_getObbInfo(const char* filename); 38e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian 39e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian/** 40e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian * Destroy the AObbInfo object. You must call this when finished with the object. 41e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian */ 42e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopianvoid AObbInfo_delete(AObbInfo* obbInfo); 43e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian 44e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian/** 45e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian * Get the package name for the OBB. 46e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian */ 47e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopianconst char* AObbInfo_getPackageName(AObbInfo* obbInfo); 48e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian 49e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian/** 50e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian * Get the version of an OBB file. 51e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian */ 52e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopianint32_t AObbInfo_getVersion(AObbInfo* obbInfo); 53e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian 54e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian/** 55e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian * Get the flags of an OBB file. 56e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian */ 57e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopianint32_t AObbInfo_getFlags(AObbInfo* obbInfo); 58e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian 59e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian#ifdef __cplusplus 60e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian}; 61e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian#endif 62e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian 63e1c61d3cc8458ce9a15d8109f728e60f5248939dMathias Agopian#endif // ANDROID_OBB_H 64