39 lines
975 B
C++
39 lines
975 B
C++
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
|
|
* 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/. */
|
|
|
|
// OSObject.h - os object for exposing posix system calls in the JS shell
|
|
|
|
#ifndef shell_OSObject_h
|
|
#define shell_OSObject_h
|
|
|
|
#include "jsapi.h"
|
|
|
|
namespace js {
|
|
namespace shell {
|
|
|
|
struct RCFile;
|
|
|
|
/* Define an os object on the given global object. */
|
|
bool
|
|
DefineOS(JSContext* cx, JS::HandleObject global,
|
|
bool fuzzingSafe,
|
|
RCFile** shellOut, RCFile** shellErr);
|
|
|
|
enum PathResolutionMode {
|
|
RootRelative,
|
|
ScriptRelative
|
|
};
|
|
|
|
JSString*
|
|
ResolvePath(JSContext* cx, JS::HandleString filenameStr, PathResolutionMode resolveMode);
|
|
|
|
JSObject*
|
|
FileAsTypedArray(JSContext* cx, JS::HandleString pathnameStr);
|
|
|
|
} // namespace shell
|
|
} // namespace js
|
|
|
|
#endif /* shell_OSObject_h */
|