security/manager/android_stub.h
author Christoph Kerschbaumer <mozilla@christophkerschbaumer.com>
Thu, 14 Jan 2016 13:21:31 -0800
changeset 280094 febf0e69c996e1a6678e6d7877e6ef07e0011b2c
parent 220647 997e003830a88482783058a746e790730fdde1c6
child 288956 3a99126a3b55fc9f4bd327c4ed232cfd4284dcde
permissions -rw-r--r--
Bug 1224694 - Unify and clean up initialization of CSP (r=sicking)

/* 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 http://mozilla.org/MPL/2.0/. */

/* This file allows NSS to build by stubbing out
 * features that aren't provided by Android/Bionic */

#ifndef ANDROID_STUB_H
#define ANDROID_STUB_H

/* sysinfo is defined but not implemented.
 * we may be able to implement it ourselves. */
#define _SYS_SYSINFO_H_

#include <sys/cdefs.h>
#include <linux/kernel.h>

#if ANDROID_VERSION >= 21
#include <sys/resource.h>
#include <unistd.h>

static int getdtablesize(void)
{
    struct rlimit r;
    if (getrlimit(RLIMIT_NOFILE, &r) < 0) {
        return sysconf(_SC_OPEN_MAX);
    }
    return r.rlim_cur;
}
#else
#define RTLD_NOLOAD 0
extern int getdtablesize(void);
#endif

#define sysinfo(foo) -1

#endif /* ANDROID_STUB_H */