UDK 3.2.7 C/C++ API Reference
osl/detail/android-bootstrap.h
Go to the documentation of this file.
00001 /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
00002 /*
00003  * Version: MPL 1.1 / GPLv3+ / LGPLv3+
00004  *
00005  * The contents of this file are subject to the Mozilla Public License Version
00006  * 1.1 (the "License"); you may not use this file except in compliance with
00007  * the License or as specified alternatively below. You may obtain a copy of
00008  * the License at http: *www.mozilla.org/MPL/
00009  *
00010  * Software distributed under the License is distributed on an "AS IS" basis,
00011  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
00012  * for the specific language governing rights and limitations under the
00013  * License.
00014  *
00015  * Major Contributor(s):
00016  * Copyright (C) 2011 Tor Lillqvist <tml@iki.fi> (initial developer)
00017  * Copyright (C) 2011 SUSE Linux http://suse.com (initial developer's employer)
00018  *
00019  * All Rights Reserved.
00020  *
00021  * For minor contributions see the git repository.
00022  *
00023  * Alternatively, the contents of this file may be used under the terms of
00024  * either the GNU General Public License Version 3 or later (the "GPLv3+"), or
00025  * the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
00026  * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
00027  * instead of those above.
00028  */
00029 
00030 #ifndef ANDROID_BOOSTRAP_H
00031 #define ANDROID_BOOSTRAP_H
00032 #if defined(ANDROID)
00033 
00034 #include <jni.h>
00035 #include <dlfcn.h>
00036 #include <dirent.h>
00037 
00038 #ifdef __cplusplus
00039 extern "C" {
00040 #endif
00041 
00042 typedef struct lo_apk_dir lo_apk_dir;
00043 
00044 char **lo_dlneeds(const char *library);
00045 
00046 void *lo_dlopen(const char *library);
00047 
00048 void *lo_dlsym(void *handle,
00049                const char *symbol);
00050 
00051 int lo_dladdr(void *addr,
00052               Dl_info *info);
00053 
00054 int lo_dlclose(void *handle);
00055 
00056 void *lo_apkentry(const char *filename,
00057                   size_t *size);
00058 
00059 lo_apk_dir *lo_apk_opendir(const char *dirname);
00060 
00061 struct dirent *lo_apk_readdir(lo_apk_dir *dirp);
00062 
00063 int lo_apk_closedir(lo_apk_dir *dirp);
00064 
00065 int lo_apk_lstat(const char *path, struct stat *statp);
00066 
00067 int lo_dlcall_argc_argv(void *function,
00068                         int argc,
00069                         const char **argv);
00070 
00071 JavaVM *lo_get_javavm(void);
00072 
00073 struct android_app *lo_get_app(void);
00074 
00075 #ifdef __cplusplus
00076 }
00077 #endif
00078 
00079 #endif // ANDROID
00080 #endif // ANDROID_BOOTSTRAP_H
00081 
00082 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines