xpcom/build/NSPRInterposer.h
author Wes Kocher <wkocher@mozilla.com>
Wed, 20 Jul 2016 15:40:33 -0700
changeset 348052 d2c17679b215bb340b1b8051c74526f6301c6253
parent 269788 2328731ef45354daf50eb21607a3c781ab79bc7c
child 508163 6f3709b3878117466168c40affa7bca0b60cf75b
permissions -rw-r--r--
Backed out 5 changesets (bug 1287623) for static build bustage CLOSED TREE Backed out changeset a48daec87ec9 (bug 1287623) Backed out changeset 248153344e15 (bug 1287623) Backed out changeset 8aa409c9b1ce (bug 1287623) Backed out changeset 602d4d88e806 (bug 1287623) Backed out changeset 114da8bdc0b0 (bug 1287623)

/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */

#ifndef NSPRINTERPOSER_H_
#define NSPRINTERPOSER_H_

namespace mozilla {

/**
 * Initialize IO interposing for NSPR. This will report NSPR read, writes and
 * fsyncs to the IOInterposerObserver. It is only safe to call this from the
 * main-thread when no other threads are running.
 */
void InitNSPRIOInterposing();

/**
 * Removes interception of NSPR IO methods as setup by InitNSPRIOInterposing.
 * Note, that it is only safe to call this on the main-thread when all other
 * threads have stopped. Which is typically the case at shutdown.
 */
void ClearNSPRIOInterposing();

} // namespace mozilla

#endif // NSPRINTERPOSER_H_