author Ehsan Akhgari <>
Fri, 18 Jan 2019 10:16:18 +0100
changeset 454354 5f4630838d46dd81dadb13220a4af0da9e23a619
parent 448947 6f3709b3878117466168c40affa7bca0b60cf75b
permissions -rw-r--r--
Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre # ignore-this-changeset

/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at */

#ifndef APKOpen_h
#define APKOpen_h

#include <jni.h>

#  define APKOPEN_EXPORT __attribute__((visibility("default")))

struct mapping_info {
  char* name;
  uintptr_t base;
  size_t len;
  size_t offset;

APKOPEN_EXPORT const struct mapping_info* getLibraryMapping();
APKOPEN_EXPORT void abortThroughJava(const char* msg);

static const int SUCCESS = 0;
static const int FAILURE = 1;
void JNI_Throw(JNIEnv* jenv, const char* classname, const char* msg);

// Bug 1207642 - Work around Dalvik bug by realigning stack on JNI entry
#  ifdef __i386__
#    define MOZ_JNICALL JNICALL __attribute__((force_align_arg_pointer))
#  else
#  endif

#endif /* APKOpen_h */