mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-02 07:05:24 +00:00
8f9f3cce67
--HG-- rename : toolkit/components/workerlz4/lz4.cpp => toolkit/components/lz4/lz4.cpp rename : toolkit/components/workerlz4/lz4.js => toolkit/components/lz4/lz4.js rename : toolkit/components/workerlz4/lz4_internal.js => toolkit/components/lz4/lz4_internal.js rename : toolkit/components/workerlz4/moz.build => toolkit/components/lz4/moz.build rename : toolkit/components/workerlz4/tests/xpcshell/data/chrome.manifest => toolkit/components/lz4/tests/xpcshell/data/chrome.manifest rename : toolkit/components/workerlz4/tests/xpcshell/data/compression.lz => toolkit/components/lz4/tests/xpcshell/data/compression.lz rename : toolkit/components/workerlz4/tests/xpcshell/data/worker_lz4.js => toolkit/components/lz4/tests/xpcshell/data/worker_lz4.js rename : toolkit/components/workerlz4/tests/xpcshell/test_lz4.js => toolkit/components/lz4/tests/xpcshell/test_lz4.js rename : toolkit/components/workerlz4/tests/xpcshell/xpcshell.ini => toolkit/components/lz4/tests/xpcshell/xpcshell.ini
69 lines
1.8 KiB
JavaScript
69 lines
1.8 KiB
JavaScript
/* 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/. */
|
|
|
|
"use strict";
|
|
|
|
var Primitives = {};
|
|
|
|
var SharedAll;
|
|
if (typeof Components != "undefined") {
|
|
let Cu = Components.utils;
|
|
SharedAll = {};
|
|
Cu.import("resource://gre/modules/osfile/osfile_shared_allthreads.jsm", SharedAll);
|
|
|
|
this.EXPORTED_SYMBOLS = [
|
|
"Primitives"
|
|
];
|
|
this.Primitives = Primitives;
|
|
this.exports = {};
|
|
} else if (typeof module != "undefined" && typeof require != "undefined") {
|
|
SharedAll = require("resource://gre/modules/osfile/osfile_shared_allthreads.jsm");
|
|
} else {
|
|
throw new Error("Please load this module with Component.utils.import or with require()");
|
|
}
|
|
|
|
var libxul = new SharedAll.Library("libxul", SharedAll.Constants.Path.libxul);
|
|
var Type = SharedAll.Type;
|
|
|
|
libxul.declareLazyFFI(Primitives, "compress",
|
|
"workerlz4_compress",
|
|
null,
|
|
/*return*/ Type.size_t,
|
|
/*const source*/ Type.void_t.in_ptr,
|
|
/*inputSize*/ Type.size_t,
|
|
/*dest*/ Type.void_t.out_ptr
|
|
);
|
|
|
|
libxul.declareLazyFFI(Primitives, "decompress",
|
|
"workerlz4_decompress",
|
|
null,
|
|
/*return*/ Type.int,
|
|
/*const source*/ Type.void_t.in_ptr,
|
|
/*inputSize*/ Type.size_t,
|
|
/*dest*/ Type.void_t.out_ptr,
|
|
/*maxOutputSize*/ Type.size_t,
|
|
/*actualOutputSize*/ Type.size_t.out_ptr
|
|
);
|
|
|
|
libxul.declareLazyFFI(Primitives, "maxCompressedSize",
|
|
"workerlz4_maxCompressedSize",
|
|
null,
|
|
/*return*/ Type.size_t,
|
|
/*inputSize*/ Type.size_t
|
|
);
|
|
|
|
if (typeof module != "undefined") {
|
|
module.exports = {
|
|
get compress() {
|
|
return Primitives.compress;
|
|
},
|
|
get decompress() {
|
|
return Primitives.decompress;
|
|
},
|
|
get maxCompressedSize() {
|
|
return Primitives.maxCompressedSize;
|
|
}
|
|
};
|
|
}
|