%% Copyright 2011, Filipe David Manana %% Web: http://github.com/fdmanana/snappy-erlang-nif %% %% Licensed under the Apache License, Version 2.0 (the "License"); you may not %% use this file except in compliance with the License. You may obtain a copy of %% the License at %% %% http://www.apache.org/licenses/LICENSE-2.0 %% %% Unless required by applicable law or agreed to in writing, software %% distributed under the License is distributed on an "AS IS" BASIS, WITHOUT %% WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the %% License for the specific language governing permissions and limitations under %% the License. -module(snappy). -export([compress/1, decompress/1]). -export([uncompressed_length/1, is_valid/1]). -on_load(init/0). init() -> SoName = case code:priv_dir(?MODULE) of {error, bad_name} -> case filelib:is_dir(filename:join(["..", "priv"])) of true -> filename:join(["..", "priv", "snappy_nif"]); false -> filename:join(["priv", "snappy_nif"]) end; Dir -> filename:join(Dir, "snappy_nif") end, (catch erlang:load_nif(SoName, 0)), case erlang:system_info(otp_release) of "R13B03" -> true; _ -> ok end. compress(_IoList) -> exit(snappy_nif_not_loaded). decompress(_IoList) -> exit(snappy_nif_not_loaded). uncompressed_length(_IoList) -> exit(snappy_nif_not_loaded). is_valid(_IoList) -> exit(snappy_nif_not_loaded).