Sophie

Sophie

distrib > Fedora > 17 > i386 > media > updates > by-pkgid > 675c8c8167236dfcf8d66da674f931e8 > files > 191

erlang-doc-R15B-03.3.fc17.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html xmlns:fn="http://www.w3.org/2005/02/xpath-functions">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../../doc/otp_doc.css" type="text/css">
<title>Erlang -- zlib</title>
</head>
<body bgcolor="white" text="#000000" link="#0000ff" vlink="#ff00ff" alink="#ff0000"><div id="container">
<script id="js" type="text/javascript" language="JavaScript" src="../../../doc/js/flipmenu/flipmenu.js"></script><script id="js2" type="text/javascript" src="../../../doc/js/erlresolvelinks.js"></script><script language="JavaScript" type="text/javascript">
            <!--
              function getWinHeight() {
                var myHeight = 0;
                if( typeof( window.innerHeight ) == 'number' ) {
                  //Non-IE
                  myHeight = window.innerHeight;
                } else if( document.documentElement && ( document.documentElement.clientWidth ||
                                                         document.documentElement.clientHeight ) ) {
                  //IE 6+ in 'standards compliant mode'
                  myHeight = document.documentElement.clientHeight;
                } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
                  //IE 4 compatible
                  myHeight = document.body.clientHeight;
                }
                return myHeight;
              }

              function setscrollpos() {
                var objf=document.getElementById('loadscrollpos');
                 document.getElementById("leftnav").scrollTop = objf.offsetTop - getWinHeight()/2;
              }

              function addEvent(obj, evType, fn){
                if (obj.addEventListener){
                obj.addEventListener(evType, fn, true);
                return true;
              } else if (obj.attachEvent){
                var r = obj.attachEvent("on"+evType, fn);
                return r;
              } else {
                return false;
              }
             }

             addEvent(window, 'load', setscrollpos);

             //--></script><div id="leftnav"><div class="innertube">
<img alt="Erlang logo" src="../../../doc/erlang-logo.png"><br><small><a href="users_guide.html">User's Guide</a><br><a href="index.html">Reference Manual</a><br><a href="release_notes.html">Release Notes</a><br><a href="../pdf/erts-5.9.3.1.pdf">PDF</a><br><a href="../../../doc/index.html">Top</a></small><p><strong>Erlang Run-Time System Application (ERTS)</strong><br><strong>Reference Manual</strong><br><small>Version 5.9.3.1</small></p>
<br><a href="javascript:openAllFlips()">Expand All</a><br><a href="javascript:closeAllFlips()">Contract All</a><p><small><strong>Table of Contents</strong></small></p>
<ul class="flipMenu">
<li id="no" title="erl_prim_loader " expanded="false">erl_prim_loader<ul>
<li><a href="erl_prim_loader.html">
                  Top of manual page
                </a></li>
<li title="start-3"><a href="erl_prim_loader.html#start-3">start/3</a></li>
<li title="get_file-1"><a href="erl_prim_loader.html#get_file-1">get_file/1</a></li>
<li title="get_path-0"><a href="erl_prim_loader.html#get_path-0">get_path/0</a></li>
<li title="list_dir-1"><a href="erl_prim_loader.html#list_dir-1">list_dir/1</a></li>
<li title="read_file_info-1"><a href="erl_prim_loader.html#read_file_info-1">read_file_info/1</a></li>
<li title="set_path-1"><a href="erl_prim_loader.html#set_path-1">set_path/1</a></li>
</ul>
</li>
<li id="no" title="erlang " expanded="false">erlang<ul>
<li><a href="erlang.html">
                  Top of manual page
                </a></li>
<li title="abs-1"><a href="erlang.html#abs-1">abs/1</a></li>
<li title="adler32-1"><a href="erlang.html#adler32-1">adler32/1</a></li>
<li title="adler32-2"><a href="erlang.html#adler32-2">adler32/2</a></li>
<li title="adler32_combine-3"><a href="erlang.html#adler32_combine-3">adler32_combine/3</a></li>
<li title="append_element-2"><a href="erlang.html#append_element-2">append_element/2</a></li>
<li title="apply-2"><a href="erlang.html#apply-2">apply/2</a></li>
<li title="apply-3"><a href="erlang.html#apply-3">apply/3</a></li>
<li title="atom_to_binary-2"><a href="erlang.html#atom_to_binary-2">atom_to_binary/2</a></li>
<li title="atom_to_list-1"><a href="erlang.html#atom_to_list-1">atom_to_list/1</a></li>
<li title="binary_part-2"><a href="erlang.html#binary_part-2">binary_part/2</a></li>
<li title="binary_part-3"><a href="erlang.html#binary_part-3">binary_part/3</a></li>
<li title="binary_to_atom-2"><a href="erlang.html#binary_to_atom-2">binary_to_atom/2</a></li>
<li title="binary_to_existing_atom-2"><a href="erlang.html#binary_to_existing_atom-2">binary_to_existing_atom/2</a></li>
<li title="binary_to_list-1"><a href="erlang.html#binary_to_list-1">binary_to_list/1</a></li>
<li title="binary_to_list-3"><a href="erlang.html#binary_to_list-3">binary_to_list/3</a></li>
<li title="bitstring_to_list-1"><a href="erlang.html#bitstring_to_list-1">bitstring_to_list/1</a></li>
<li title="binary_to_term-1"><a href="erlang.html#binary_to_term-1">binary_to_term/1</a></li>
<li title="binary_to_term-2"><a href="erlang.html#binary_to_term-2">binary_to_term/2</a></li>
<li title="bit_size-1"><a href="erlang.html#bit_size-1">bit_size/1</a></li>
<li title="bump_reductions-1"><a href="erlang.html#bump_reductions-1">bump_reductions/1</a></li>
<li title="byte_size-1"><a href="erlang.html#byte_size-1">byte_size/1</a></li>
<li title="cancel_timer-1"><a href="erlang.html#cancel_timer-1">cancel_timer/1</a></li>
<li title="check_old_code-1"><a href="erlang.html#check_old_code-1">check_old_code/1</a></li>
<li title="check_process_code-2"><a href="erlang.html#check_process_code-2">check_process_code/2</a></li>
<li title="crc32-1"><a href="erlang.html#crc32-1">crc32/1</a></li>
<li title="crc32-2"><a href="erlang.html#crc32-2">crc32/2</a></li>
<li title="crc32_combine-3"><a href="erlang.html#crc32_combine-3">crc32_combine/3</a></li>
<li title="date-0"><a href="erlang.html#date-0">date/0</a></li>
<li title="decode_packet-3"><a href="erlang.html#decode_packet-3">decode_packet/3</a></li>
<li title="delete_module-1"><a href="erlang.html#delete_module-1">delete_module/1</a></li>
<li title="demonitor-1"><a href="erlang.html#demonitor-1">demonitor/1</a></li>
<li title="demonitor-2"><a href="erlang.html#demonitor-2">demonitor/2</a></li>
<li title="disconnect_node-1"><a href="erlang.html#disconnect_node-1">disconnect_node/1</a></li>
<li title="display-1"><a href="erlang.html#display-1">display/1</a></li>
<li title="element-2"><a href="erlang.html#element-2">element/2</a></li>
<li title="erase-0"><a href="erlang.html#erase-0">erase/0</a></li>
<li title="erase-1"><a href="erlang.html#erase-1">erase/1</a></li>
<li title="error-1"><a href="erlang.html#error-1">error/1</a></li>
<li title="error-2"><a href="erlang.html#error-2">error/2</a></li>
<li title="exit-1"><a href="erlang.html#exit-1">exit/1</a></li>
<li title="exit-2"><a href="erlang.html#exit-2">exit/2</a></li>
<li title="external_size-1"><a href="erlang.html#external_size-1">external_size/1</a></li>
<li title="external_size-2"><a href="erlang.html#external_size-2">external_size/2</a></li>
<li title="float-1"><a href="erlang.html#float-1">float/1</a></li>
<li title="float_to_list-1"><a href="erlang.html#float_to_list-1">float_to_list/1</a></li>
<li title="fun_info-1"><a href="erlang.html#fun_info-1">fun_info/1</a></li>
<li title="fun_info-2"><a href="erlang.html#fun_info-2">fun_info/2</a></li>
<li title="fun_to_list-1"><a href="erlang.html#fun_to_list-1">fun_to_list/1</a></li>
<li title="function_exported-3"><a href="erlang.html#function_exported-3">function_exported/3</a></li>
<li title="garbage_collect-0"><a href="erlang.html#garbage_collect-0">garbage_collect/0</a></li>
<li title="garbage_collect-1"><a href="erlang.html#garbage_collect-1">garbage_collect/1</a></li>
<li title="get-0"><a href="erlang.html#get-0">get/0</a></li>
<li title="get-1"><a href="erlang.html#get-1">get/1</a></li>
<li title="get_cookie-0"><a href="erlang.html#get_cookie-0">get_cookie/0</a></li>
<li title="get_keys-1"><a href="erlang.html#get_keys-1">get_keys/1</a></li>
<li title="get_stacktrace-0"><a href="erlang.html#get_stacktrace-0">get_stacktrace/0</a></li>
<li title="group_leader-0"><a href="erlang.html#group_leader-0">group_leader/0</a></li>
<li title="group_leader-2"><a href="erlang.html#group_leader-2">group_leader/2</a></li>
<li title="halt-0"><a href="erlang.html#halt-0">halt/0</a></li>
<li title="halt-1"><a href="erlang.html#halt-1">halt/1</a></li>
<li title="halt-2"><a href="erlang.html#halt-2">halt/2</a></li>
<li title="hash-2"><a href="erlang.html#hash-2">hash/2</a></li>
<li title="hd-1"><a href="erlang.html#hd-1">hd/1</a></li>
<li title="hibernate-3"><a href="erlang.html#hibernate-3">hibernate/3</a></li>
<li title="integer_to_list-1"><a href="erlang.html#integer_to_list-1">integer_to_list/1</a></li>
<li title="integer_to_list-2"><a href="erlang.html#integer_to_list-2">integer_to_list/2</a></li>
<li title="iolist_to_binary-1"><a href="erlang.html#iolist_to_binary-1">iolist_to_binary/1</a></li>
<li title="iolist_size-1"><a href="erlang.html#iolist_size-1">iolist_size/1</a></li>
<li title="is_alive-0"><a href="erlang.html#is_alive-0">is_alive/0</a></li>
<li title="is_atom-1"><a href="erlang.html#is_atom-1">is_atom/1</a></li>
<li title="is_binary-1"><a href="erlang.html#is_binary-1">is_binary/1</a></li>
<li title="is_bitstring-1"><a href="erlang.html#is_bitstring-1">is_bitstring/1</a></li>
<li title="is_boolean-1"><a href="erlang.html#is_boolean-1">is_boolean/1</a></li>
<li title="is_builtin-3"><a href="erlang.html#is_builtin-3">is_builtin/3</a></li>
<li title="is_float-1"><a href="erlang.html#is_float-1">is_float/1</a></li>
<li title="is_function-1"><a href="erlang.html#is_function-1">is_function/1</a></li>
<li title="is_function-2"><a href="erlang.html#is_function-2">is_function/2</a></li>
<li title="is_integer-1"><a href="erlang.html#is_integer-1">is_integer/1</a></li>
<li title="is_list-1"><a href="erlang.html#is_list-1">is_list/1</a></li>
<li title="is_number-1"><a href="erlang.html#is_number-1">is_number/1</a></li>
<li title="is_pid-1"><a href="erlang.html#is_pid-1">is_pid/1</a></li>
<li title="is_port-1"><a href="erlang.html#is_port-1">is_port/1</a></li>
<li title="is_process_alive-1"><a href="erlang.html#is_process_alive-1">is_process_alive/1</a></li>
<li title="is_record-2"><a href="erlang.html#is_record-2">is_record/2</a></li>
<li title="is_record-3"><a href="erlang.html#is_record-3">is_record/3</a></li>
<li title="is_reference-1"><a href="erlang.html#is_reference-1">is_reference/1</a></li>
<li title="is_tuple-1"><a href="erlang.html#is_tuple-1">is_tuple/1</a></li>
<li title="length-1"><a href="erlang.html#length-1">length/1</a></li>
<li title="link-1"><a href="erlang.html#link-1">link/1</a></li>
<li title="list_to_atom-1"><a href="erlang.html#list_to_atom-1">list_to_atom/1</a></li>
<li title="list_to_binary-1"><a href="erlang.html#list_to_binary-1">list_to_binary/1</a></li>
<li title="list_to_bitstring-1"><a href="erlang.html#list_to_bitstring-1">list_to_bitstring/1</a></li>
<li title="list_to_existing_atom-1"><a href="erlang.html#list_to_existing_atom-1">list_to_existing_atom/1</a></li>
<li title="list_to_float-1"><a href="erlang.html#list_to_float-1">list_to_float/1</a></li>
<li title="list_to_integer-1"><a href="erlang.html#list_to_integer-1">list_to_integer/1</a></li>
<li title="list_to_integer-2"><a href="erlang.html#list_to_integer-2">list_to_integer/2</a></li>
<li title="list_to_pid-1"><a href="erlang.html#list_to_pid-1">list_to_pid/1</a></li>
<li title="list_to_tuple-1"><a href="erlang.html#list_to_tuple-1">list_to_tuple/1</a></li>
<li title="load_module-2"><a href="erlang.html#load_module-2">load_module/2</a></li>
<li title="load_nif-2"><a href="erlang.html#load_nif-2">load_nif/2</a></li>
<li title="loaded-0"><a href="erlang.html#loaded-0">loaded/0</a></li>
<li title="localtime-0"><a href="erlang.html#localtime-0">localtime/0</a></li>
<li title="localtime_to_universaltime-1"><a href="erlang.html#localtime_to_universaltime-1">localtime_to_universaltime/1</a></li>
<li title="localtime_to_universaltime-2"><a href="erlang.html#localtime_to_universaltime-2">localtime_to_universaltime/2</a></li>
<li title="make_ref-0"><a href="erlang.html#make_ref-0">make_ref/0</a></li>
<li title="make_tuple-2"><a href="erlang.html#make_tuple-2">make_tuple/2</a></li>
<li title="make_tuple-3"><a href="erlang.html#make_tuple-3">make_tuple/3</a></li>
<li title="max-2"><a href="erlang.html#max-2">max/2</a></li>
<li title="md5-1"><a href="erlang.html#md5-1">md5/1</a></li>
<li title="md5_final-1"><a href="erlang.html#md5_final-1">md5_final/1</a></li>
<li title="md5_init-0"><a href="erlang.html#md5_init-0">md5_init/0</a></li>
<li title="md5_update-2"><a href="erlang.html#md5_update-2">md5_update/2</a></li>
<li title="memory-0"><a href="erlang.html#memory-0">memory/0</a></li>
<li title="memory-1"><a href="erlang.html#memory-1">memory/1</a></li>
<li title="min-2"><a href="erlang.html#min-2">min/2</a></li>
<li title="module_loaded-1"><a href="erlang.html#module_loaded-1">module_loaded/1</a></li>
<li title="monitor-2"><a href="erlang.html#monitor-2">monitor/2</a></li>
<li title="monitor_node-2"><a href="erlang.html#monitor_node-2">monitor_node/2</a></li>
<li title="monitor_node-3"><a href="erlang.html#monitor_node-3">monitor_node/3</a></li>
<li title="nif_error-1"><a href="erlang.html#nif_error-1">nif_error/1</a></li>
<li title="nif_error-2"><a href="erlang.html#nif_error-2">nif_error/2</a></li>
<li title="node-0"><a href="erlang.html#node-0">node/0</a></li>
<li title="node-1"><a href="erlang.html#node-1">node/1</a></li>
<li title="nodes-0"><a href="erlang.html#nodes-0">nodes/0</a></li>
<li title="nodes-1"><a href="erlang.html#nodes-1">nodes/1</a></li>
<li title="now-0"><a href="erlang.html#now-0">now/0</a></li>
<li title="open_port-2"><a href="erlang.html#open_port-2">open_port/2</a></li>
<li title="phash-2"><a href="erlang.html#phash-2">phash/2</a></li>
<li title="phash2-1"><a href="erlang.html#phash2-1">phash2/1</a></li>
<li title="pid_to_list-1"><a href="erlang.html#pid_to_list-1">pid_to_list/1</a></li>
<li title="port_close-1"><a href="erlang.html#port_close-1">port_close/1</a></li>
<li title="port_command-2"><a href="erlang.html#port_command-2">port_command/2</a></li>
<li title="port_command-3"><a href="erlang.html#port_command-3">port_command/3</a></li>
<li title="port_connect-2"><a href="erlang.html#port_connect-2">port_connect/2</a></li>
<li title="port_control-3"><a href="erlang.html#port_control-3">port_control/3</a></li>
<li title="port_call-3"><a href="erlang.html#port_call-3">port_call/3</a></li>
<li title="port_info-1"><a href="erlang.html#port_info-1">port_info/1</a></li>
<li title="port_info-2"><a href="erlang.html#port_info-2">port_info/2</a></li>
<li title="port_to_list-1"><a href="erlang.html#port_to_list-1">port_to_list/1</a></li>
<li title="ports-0"><a href="erlang.html#ports-0">ports/0</a></li>
<li title="pre_loaded-0"><a href="erlang.html#pre_loaded-0">pre_loaded/0</a></li>
<li title="process_display-2"><a href="erlang.html#process_display-2">process_display/2</a></li>
<li title="process_flag-2"><a href="erlang.html#process_flag-2">process_flag/2</a></li>
<li title="process_flag-3"><a href="erlang.html#process_flag-3">process_flag/3</a></li>
<li title="process_info-1"><a href="erlang.html#process_info-1">process_info/1</a></li>
<li title="process_info-2"><a href="erlang.html#process_info-2">process_info/2</a></li>
<li title="processes-0"><a href="erlang.html#processes-0">processes/0</a></li>
<li title="purge_module-1"><a href="erlang.html#purge_module-1">purge_module/1</a></li>
<li title="put-2"><a href="erlang.html#put-2">put/2</a></li>
<li title="raise-3"><a href="erlang.html#raise-3">raise/3</a></li>
<li title="read_timer-1"><a href="erlang.html#read_timer-1">read_timer/1</a></li>
<li title="ref_to_list-1"><a href="erlang.html#ref_to_list-1">ref_to_list/1</a></li>
<li title="register-2"><a href="erlang.html#register-2">register/2</a></li>
<li title="registered-0"><a href="erlang.html#registered-0">registered/0</a></li>
<li title="resume_process-1"><a href="erlang.html#resume_process-1">resume_process/1</a></li>
<li title="round-1"><a href="erlang.html#round-1">round/1</a></li>
<li title="self-0"><a href="erlang.html#self-0">self/0</a></li>
<li title="send-2"><a href="erlang.html#send-2">send/2</a></li>
<li title="send-3"><a href="erlang.html#send-3">send/3</a></li>
<li title="send_after-3"><a href="erlang.html#send_after-3">send_after/3</a></li>
<li title="send_nosuspend-2"><a href="erlang.html#send_nosuspend-2">send_nosuspend/2</a></li>
<li title="send_nosuspend-3"><a href="erlang.html#send_nosuspend-3">send_nosuspend/3</a></li>
<li title="set_cookie-2"><a href="erlang.html#set_cookie-2">set_cookie/2</a></li>
<li title="setelement-3"><a href="erlang.html#setelement-3">setelement/3</a></li>
<li title="size-1"><a href="erlang.html#size-1">size/1</a></li>
<li title="spawn-1"><a href="erlang.html#spawn-1">spawn/1</a></li>
<li title="spawn-2"><a href="erlang.html#spawn-2">spawn/2</a></li>
<li title="spawn-3"><a href="erlang.html#spawn-3">spawn/3</a></li>
<li title="spawn-4"><a href="erlang.html#spawn-4">spawn/4</a></li>
<li title="spawn_link-1"><a href="erlang.html#spawn_link-1">spawn_link/1</a></li>
<li title="spawn_link-2"><a href="erlang.html#spawn_link-2">spawn_link/2</a></li>
<li title="spawn_link-3"><a href="erlang.html#spawn_link-3">spawn_link/3</a></li>
<li title="spawn_link-4"><a href="erlang.html#spawn_link-4">spawn_link/4</a></li>
<li title="spawn_monitor-1"><a href="erlang.html#spawn_monitor-1">spawn_monitor/1</a></li>
<li title="spawn_monitor-3"><a href="erlang.html#spawn_monitor-3">spawn_monitor/3</a></li>
<li title="spawn_opt-2"><a href="erlang.html#spawn_opt-2">spawn_opt/2</a></li>
<li title="spawn_opt-3"><a href="erlang.html#spawn_opt-3">spawn_opt/3</a></li>
<li title="spawn_opt-4"><a href="erlang.html#spawn_opt-4">spawn_opt/4</a></li>
<li title="spawn_opt-5"><a href="erlang.html#spawn_opt-5">spawn_opt/5</a></li>
<li title="split_binary-2"><a href="erlang.html#split_binary-2">split_binary/2</a></li>
<li title="start_timer-3"><a href="erlang.html#start_timer-3">start_timer/3</a></li>
<li title="statistics-1"><a href="erlang.html#statistics-1">statistics/1</a></li>
<li title="suspend_process-2"><a href="erlang.html#suspend_process-2">suspend_process/2</a></li>
<li title="suspend_process-1"><a href="erlang.html#suspend_process-1">suspend_process/1</a></li>
<li title="system_flag-2"><a href="erlang.html#system_flag-2">system_flag/2</a></li>
<li title="system_info-1"><a href="erlang.html#system_info-1">system_info/1</a></li>
<li title="system_monitor-0"><a href="erlang.html#system_monitor-0">system_monitor/0</a></li>
<li title="system_monitor-1"><a href="erlang.html#system_monitor-1">system_monitor/1</a></li>
<li title="system_monitor-2"><a href="erlang.html#system_monitor-2">system_monitor/2</a></li>
<li title="system_profile-0"><a href="erlang.html#system_profile-0">system_profile/0</a></li>
<li title="system_profile-2"><a href="erlang.html#system_profile-2">system_profile/2</a></li>
<li title="term_to_binary-1"><a href="erlang.html#term_to_binary-1">term_to_binary/1</a></li>
<li title="term_to_binary-2"><a href="erlang.html#term_to_binary-2">term_to_binary/2</a></li>
<li title="throw-1"><a href="erlang.html#throw-1">throw/1</a></li>
<li title="time-0"><a href="erlang.html#time-0">time/0</a></li>
<li title="tl-1"><a href="erlang.html#tl-1">tl/1</a></li>
<li title="trace-3"><a href="erlang.html#trace-3">trace/3</a></li>
<li title="trace_delivered-1"><a href="erlang.html#trace_delivered-1">trace_delivered/1</a></li>
<li title="trace_info-2"><a href="erlang.html#trace_info-2">trace_info/2</a></li>
<li title="trace_pattern-2"><a href="erlang.html#trace_pattern-2">trace_pattern/2</a></li>
<li title="trace_pattern-3"><a href="erlang.html#trace_pattern-3">trace_pattern/3</a></li>
<li title="trunc-1"><a href="erlang.html#trunc-1">trunc/1</a></li>
<li title="tuple_size-1"><a href="erlang.html#tuple_size-1">tuple_size/1</a></li>
<li title="tuple_to_list-1"><a href="erlang.html#tuple_to_list-1">tuple_to_list/1</a></li>
<li title="universaltime-0"><a href="erlang.html#universaltime-0">universaltime/0</a></li>
<li title="universaltime_to_localtime-1"><a href="erlang.html#universaltime_to_localtime-1">universaltime_to_localtime/1</a></li>
<li title="unlink-1"><a href="erlang.html#unlink-1">unlink/1</a></li>
<li title="unregister-1"><a href="erlang.html#unregister-1">unregister/1</a></li>
<li title="whereis-1"><a href="erlang.html#whereis-1">whereis/1</a></li>
<li title="yield-0"><a href="erlang.html#yield-0">yield/0</a></li>
</ul>
</li>
<li id="no" title="init " expanded="false">init<ul>
<li><a href="init.html">
                  Top of manual page
                </a></li>
<li title="boot-1"><a href="init.html#boot-1">boot/1</a></li>
<li title="get_argument-1"><a href="init.html#get_argument-1">get_argument/1</a></li>
<li title="get_arguments-0"><a href="init.html#get_arguments-0">get_arguments/0</a></li>
<li title="get_plain_arguments-0"><a href="init.html#get_plain_arguments-0">get_plain_arguments/0</a></li>
<li title="get_status-0"><a href="init.html#get_status-0">get_status/0</a></li>
<li title="reboot-0"><a href="init.html#reboot-0">reboot/0</a></li>
<li title="restart-0"><a href="init.html#restart-0">restart/0</a></li>
<li title="script_id-0"><a href="init.html#script_id-0">script_id/0</a></li>
<li title="stop-0"><a href="init.html#stop-0">stop/0</a></li>
<li title="stop-1"><a href="init.html#stop-1">stop/1</a></li>
</ul>
</li>
<li id="loadscrollpos" title="zlib " expanded="true">zlib<ul>
<li><a href="zlib.html">
                  Top of manual page
                </a></li>
<li title="open-0"><a href="zlib.html#open-0">open/0</a></li>
<li title="close-1"><a href="zlib.html#close-1">close/1</a></li>
<li title="deflateInit-1"><a href="zlib.html#deflateInit-1">deflateInit/1</a></li>
<li title="deflateInit-2"><a href="zlib.html#deflateInit-2">deflateInit/2</a></li>
<li title="deflateInit-6"><a href="zlib.html#deflateInit-6">deflateInit/6</a></li>
<li title="deflate-2"><a href="zlib.html#deflate-2">deflate/2</a></li>
<li title="deflate-3"><a href="zlib.html#deflate-3">deflate/3</a></li>
<li title="deflateSetDictionary-2"><a href="zlib.html#deflateSetDictionary-2">deflateSetDictionary/2</a></li>
<li title="deflateReset-1"><a href="zlib.html#deflateReset-1">deflateReset/1</a></li>
<li title="deflateParams-3"><a href="zlib.html#deflateParams-3">deflateParams/3</a></li>
<li title="deflateEnd-1"><a href="zlib.html#deflateEnd-1">deflateEnd/1</a></li>
<li title="inflateInit-1"><a href="zlib.html#inflateInit-1">inflateInit/1</a></li>
<li title="inflateInit-2"><a href="zlib.html#inflateInit-2">inflateInit/2</a></li>
<li title="inflate-2"><a href="zlib.html#inflate-2">inflate/2</a></li>
<li title="inflateSetDictionary-2"><a href="zlib.html#inflateSetDictionary-2">inflateSetDictionary/2</a></li>
<li title="inflateReset-1"><a href="zlib.html#inflateReset-1">inflateReset/1</a></li>
<li title="inflateEnd-1"><a href="zlib.html#inflateEnd-1">inflateEnd/1</a></li>
<li title="setBufSize-2"><a href="zlib.html#setBufSize-2">setBufSize/2</a></li>
<li title="getBufSize-1"><a href="zlib.html#getBufSize-1">getBufSize/1</a></li>
<li title="crc32-1"><a href="zlib.html#crc32-1">crc32/1</a></li>
<li title="crc32-2"><a href="zlib.html#crc32-2">crc32/2</a></li>
<li title="crc32-3"><a href="zlib.html#crc32-3">crc32/3</a></li>
<li title="crc32_combine-4"><a href="zlib.html#crc32_combine-4">crc32_combine/4</a></li>
<li title="adler32-2"><a href="zlib.html#adler32-2">adler32/2</a></li>
<li title="adler32-3"><a href="zlib.html#adler32-3">adler32/3</a></li>
<li title="adler32_combine-4"><a href="zlib.html#adler32_combine-4">adler32_combine/4</a></li>
<li title="compress-1"><a href="zlib.html#compress-1">compress/1</a></li>
<li title="uncompress-1"><a href="zlib.html#uncompress-1">uncompress/1</a></li>
<li title="zip-1"><a href="zlib.html#zip-1">zip/1</a></li>
<li title="unzip-1"><a href="zlib.html#unzip-1">unzip/1</a></li>
<li title="gzip-1"><a href="zlib.html#gzip-1">gzip/1</a></li>
<li title="gunzip-1"><a href="zlib.html#gunzip-1">gunzip/1</a></li>
</ul>
</li>
<li title="epmd"><a href="epmd.html">epmd</a></li>
<li title="erl"><a href="erl.html">erl</a></li>
<li title="erlc"><a href="erlc.html">erlc</a></li>
<li title="werl"><a href="werl.html">werl</a></li>
<li title="escript"><a href="escript.html">escript</a></li>
<li title="erlsrv"><a href="erlsrv.html">erlsrv</a></li>
<li title="start_erl"><a href="start_erl.html">start_erl</a></li>
<li id="no" title="erl_set_memory_block " expanded="false">erl_set_memory_block<ul>
<li><a href="erl_set_memory_block.html">
                  Top of manual page
                </a></li>
<li title="erl_set_memory_block"><a href="erl_set_memory_block.html#erl_set_memory_block">erl_set_memory_block()
                </a></li>
<li title="erl_memory_show"><a href="erl_set_memory_block.html#erl_memory_show">erl_memory_show()
                </a></li>
<li title="erl_mem_info_get"><a href="erl_set_memory_block.html#erl_mem_info_get">erl_mem_info_get()
                </a></li>
</ul>
</li>
<li title="run_erl"><a href="run_erl.html">run_erl</a></li>
<li title="start"><a href="start.html">start</a></li>
<li id="no" title="erl_driver " expanded="false">erl_driver<ul>
<li><a href="erl_driver.html">
                  Top of manual page
                </a></li>
<li title="driver_system_info"><a href="erl_driver.html#driver_system_info">driver_system_info()
                </a></li>
<li title="driver_output"><a href="erl_driver.html#driver_output">driver_output()
                </a></li>
<li title="driver_output2"><a href="erl_driver.html#driver_output2">driver_output2()
                </a></li>
<li title="driver_output_binary"><a href="erl_driver.html#driver_output_binary">driver_output_binary()
                </a></li>
<li title="driver_outputv"><a href="erl_driver.html#driver_outputv">driver_outputv()
                </a></li>
<li title="driver_vec_to_buf"><a href="erl_driver.html#driver_vec_to_buf">driver_vec_to_buf()
                </a></li>
<li title="driver_set_timer"><a href="erl_driver.html#driver_set_timer">driver_set_timer()
                </a></li>
<li title="driver_cancel_timer"><a href="erl_driver.html#driver_cancel_timer">driver_cancel_timer()
                </a></li>
<li title="driver_read_timer"><a href="erl_driver.html#driver_read_timer">driver_read_timer()
                </a></li>
<li title="driver_get_now"><a href="erl_driver.html#driver_get_now">driver_get_now()
                </a></li>
<li title="driver_select"><a href="erl_driver.html#driver_select">driver_select()
                </a></li>
<li title="driver_alloc"><a href="erl_driver.html#driver_alloc">driver_alloc()
                </a></li>
<li title="driver_realloc"><a href="erl_driver.html#driver_realloc">driver_realloc()
                </a></li>
<li title="driver_free"><a href="erl_driver.html#driver_free">driver_free()
                </a></li>
<li title="driver_alloc_binary"><a href="erl_driver.html#driver_alloc_binary">driver_alloc_binary()
                </a></li>
<li title="driver_realloc_binary"><a href="erl_driver.html#driver_realloc_binary">driver_realloc_binary()
                </a></li>
<li title="driver_free_binary"><a href="erl_driver.html#driver_free_binary">driver_free_binary()
                </a></li>
<li title="driver_binary_get_refc"><a href="erl_driver.html#driver_binary_get_refc">driver_binary_get_refc()
                </a></li>
<li title="driver_binary_inc_refc"><a href="erl_driver.html#driver_binary_inc_refc">driver_binary_inc_refc()
                </a></li>
<li title="driver_binary_dec_refc"><a href="erl_driver.html#driver_binary_dec_refc">driver_binary_dec_refc()
                </a></li>
<li title="driver_enq"><a href="erl_driver.html#driver_enq">driver_enq()
                </a></li>
<li title="driver_pushq"><a href="erl_driver.html#driver_pushq">driver_pushq()
                </a></li>
<li title="driver_deq"><a href="erl_driver.html#driver_deq">driver_deq()
                </a></li>
<li title="driver_sizeq"><a href="erl_driver.html#driver_sizeq">driver_sizeq()
                </a></li>
<li title="driver_enq_bin"><a href="erl_driver.html#driver_enq_bin">driver_enq_bin()
                </a></li>
<li title="driver_pushq_bin"><a href="erl_driver.html#driver_pushq_bin">driver_pushq_bin()
                </a></li>
<li title="driver_peekqv"><a href="erl_driver.html#driver_peekqv">driver_peekqv()
                </a></li>
<li title="driver_peekq"><a href="erl_driver.html#driver_peekq">driver_peekq()
                </a></li>
<li title="driver_enqv"><a href="erl_driver.html#driver_enqv">driver_enqv()
                </a></li>
<li title="driver_pushqv"><a href="erl_driver.html#driver_pushqv">driver_pushqv()
                </a></li>
<li title="driver_pdl_create"><a href="erl_driver.html#driver_pdl_create">driver_pdl_create()
                </a></li>
<li title="driver_pdl_lock"><a href="erl_driver.html#driver_pdl_lock">driver_pdl_lock()
                </a></li>
<li title="driver_pdl_unlock"><a href="erl_driver.html#driver_pdl_unlock">driver_pdl_unlock()
                </a></li>
<li title="driver_pdl_get_refc"><a href="erl_driver.html#driver_pdl_get_refc">driver_pdl_get_refc()
                </a></li>
<li title="driver_pdl_inc_refc"><a href="erl_driver.html#driver_pdl_inc_refc">driver_pdl_inc_refc()
                </a></li>
<li title="driver_pdl_dec_refc"><a href="erl_driver.html#driver_pdl_dec_refc">driver_pdl_dec_refc()
                </a></li>
<li title="driver_monitor_process"><a href="erl_driver.html#driver_monitor_process">driver_monitor_process()
                </a></li>
<li title="driver_demonitor_process"><a href="erl_driver.html#driver_demonitor_process">driver_demonitor_process()
                </a></li>
<li title="driver_get_monitored_process"><a href="erl_driver.html#driver_get_monitored_process">driver_get_monitored_process()
                </a></li>
<li title="driver_compare_monitors"><a href="erl_driver.html#driver_compare_monitors">driver_compare_monitors()
                </a></li>
<li title="add_driver_entry"><a href="erl_driver.html#add_driver_entry">add_driver_entry()
                </a></li>
<li title="remove_driver_entry"><a href="erl_driver.html#remove_driver_entry">remove_driver_entry()
                </a></li>
<li title="erl_errno_id"><a href="erl_driver.html#erl_errno_id">erl_errno_id()
                </a></li>
<li title="set_busy_port"><a href="erl_driver.html#set_busy_port">set_busy_port()
                </a></li>
<li title="set_port_control_flags"><a href="erl_driver.html#set_port_control_flags">set_port_control_flags()
                </a></li>
<li title="driver_failure_eof"><a href="erl_driver.html#driver_failure_eof">driver_failure_eof()
                </a></li>
<li title="driver_failure_atom"><a href="erl_driver.html#driver_failure_atom">driver_failure_atom()
                </a></li>
<li title="driver_failure_posix"><a href="erl_driver.html#driver_failure_posix">driver_failure_posix()
                </a></li>
<li title="driver_failure"><a href="erl_driver.html#driver_failure">driver_failure()
                </a></li>
<li title="driver_connected"><a href="erl_driver.html#driver_connected">driver_connected()
                </a></li>
<li title="driver_caller"><a href="erl_driver.html#driver_caller">driver_caller()
                </a></li>
<li title="driver_output_term"><a href="erl_driver.html#driver_output_term">driver_output_term()
                </a></li>
<li title="driver_mk_atom"><a href="erl_driver.html#driver_mk_atom">driver_mk_atom()
                </a></li>
<li title="driver_mk_port"><a href="erl_driver.html#driver_mk_port">driver_mk_port()
                </a></li>
<li title="driver_send_term"><a href="erl_driver.html#driver_send_term">driver_send_term()
                </a></li>
<li title="driver_async "><a href="erl_driver.html#driver_async%20">driver_async ()
                </a></li>
<li title="driver_async_cancel"><a href="erl_driver.html#driver_async_cancel">driver_async_cancel()
                </a></li>
<li title="driver_lock_driver"><a href="erl_driver.html#driver_lock_driver">driver_lock_driver()
                </a></li>
<li title="driver_create_port"><a href="erl_driver.html#driver_create_port">driver_create_port()
                </a></li>
<li title="erl_drv_thread_create"><a href="erl_driver.html#erl_drv_thread_create">erl_drv_thread_create()
                </a></li>
<li title="erl_drv_thread_opts_create"><a href="erl_driver.html#erl_drv_thread_opts_create">erl_drv_thread_opts_create()
                </a></li>
<li title="erl_drv_thread_opts_destroy"><a href="erl_driver.html#erl_drv_thread_opts_destroy">erl_drv_thread_opts_destroy()
                </a></li>
<li title="erl_drv_thread_exit"><a href="erl_driver.html#erl_drv_thread_exit">erl_drv_thread_exit()
                </a></li>
<li title="erl_drv_thread_join"><a href="erl_driver.html#erl_drv_thread_join">erl_drv_thread_join()
                </a></li>
<li title="erl_drv_thread_self"><a href="erl_driver.html#erl_drv_thread_self">erl_drv_thread_self()
                </a></li>
<li title="erl_drv_equal_tids"><a href="erl_driver.html#erl_drv_equal_tids">erl_drv_equal_tids()
                </a></li>
<li title="erl_drv_mutex_create"><a href="erl_driver.html#erl_drv_mutex_create">erl_drv_mutex_create()
                </a></li>
<li title="erl_drv_mutex_destroy"><a href="erl_driver.html#erl_drv_mutex_destroy">erl_drv_mutex_destroy()
                </a></li>
<li title="erl_drv_mutex_lock"><a href="erl_driver.html#erl_drv_mutex_lock">erl_drv_mutex_lock()
                </a></li>
<li title="erl_drv_mutex_trylock"><a href="erl_driver.html#erl_drv_mutex_trylock">erl_drv_mutex_trylock()
                </a></li>
<li title="erl_drv_mutex_unlock"><a href="erl_driver.html#erl_drv_mutex_unlock">erl_drv_mutex_unlock()
                </a></li>
<li title="erl_drv_cond_create"><a href="erl_driver.html#erl_drv_cond_create">erl_drv_cond_create()
                </a></li>
<li title="erl_drv_cond_destroy"><a href="erl_driver.html#erl_drv_cond_destroy">erl_drv_cond_destroy()
                </a></li>
<li title="erl_drv_cond_signal"><a href="erl_driver.html#erl_drv_cond_signal">erl_drv_cond_signal()
                </a></li>
<li title="erl_drv_cond_broadcast"><a href="erl_driver.html#erl_drv_cond_broadcast">erl_drv_cond_broadcast()
                </a></li>
<li title="erl_drv_cond_wait"><a href="erl_driver.html#erl_drv_cond_wait">erl_drv_cond_wait()
                </a></li>
<li title="erl_drv_rwlock_create"><a href="erl_driver.html#erl_drv_rwlock_create">erl_drv_rwlock_create()
                </a></li>
<li title="erl_drv_rwlock_destroy"><a href="erl_driver.html#erl_drv_rwlock_destroy">erl_drv_rwlock_destroy()
                </a></li>
<li title="erl_drv_rwlock_rlock"><a href="erl_driver.html#erl_drv_rwlock_rlock">erl_drv_rwlock_rlock()
                </a></li>
<li title="erl_drv_rwlock_tryrlock"><a href="erl_driver.html#erl_drv_rwlock_tryrlock">erl_drv_rwlock_tryrlock()
                </a></li>
<li title="erl_drv_rwlock_runlock"><a href="erl_driver.html#erl_drv_rwlock_runlock">erl_drv_rwlock_runlock()
                </a></li>
<li title="erl_drv_rwlock_rwlock"><a href="erl_driver.html#erl_drv_rwlock_rwlock">erl_drv_rwlock_rwlock()
                </a></li>
<li title="erl_drv_rwlock_tryrwlock"><a href="erl_driver.html#erl_drv_rwlock_tryrwlock">erl_drv_rwlock_tryrwlock()
                </a></li>
<li title="erl_drv_rwlock_rwunlock"><a href="erl_driver.html#erl_drv_rwlock_rwunlock">erl_drv_rwlock_rwunlock()
                </a></li>
<li title="erl_drv_tsd_key_create"><a href="erl_driver.html#erl_drv_tsd_key_create">erl_drv_tsd_key_create()
                </a></li>
<li title="erl_drv_tsd_key_destroy"><a href="erl_driver.html#erl_drv_tsd_key_destroy">erl_drv_tsd_key_destroy()
                </a></li>
<li title="erl_drv_tsd_set"><a href="erl_driver.html#erl_drv_tsd_set">erl_drv_tsd_set()
                </a></li>
<li title="erl_drv_tsd_get"><a href="erl_driver.html#erl_drv_tsd_get">erl_drv_tsd_get()
                </a></li>
<li title="erl_drv_putenv"><a href="erl_driver.html#erl_drv_putenv">erl_drv_putenv()
                </a></li>
<li title="erl_drv_getenv"><a href="erl_driver.html#erl_drv_getenv">erl_drv_getenv()
                </a></li>
</ul>
</li>
<li title="driver_entry"><a href="driver_entry.html">driver_entry</a></li>
<li title="erts_alloc"><a href="erts_alloc.html">erts_alloc</a></li>
<li id="no" title="erl_nif " expanded="false">erl_nif<ul>
<li><a href="erl_nif.html">
                  Top of manual page
                </a></li>
<li title="enif_alloc"><a href="erl_nif.html#enif_alloc">enif_alloc()
                </a></li>
<li title="enif_alloc_binary"><a href="erl_nif.html#enif_alloc_binary">enif_alloc_binary()
                </a></li>
<li title="enif_alloc_env"><a href="erl_nif.html#enif_alloc_env">enif_alloc_env()
                </a></li>
<li title="enif_alloc_resource"><a href="erl_nif.html#enif_alloc_resource">enif_alloc_resource()
                </a></li>
<li title="enif_clear_env"><a href="erl_nif.html#enif_clear_env">enif_clear_env()
                </a></li>
<li title="enif_compare"><a href="erl_nif.html#enif_compare">enif_compare()
                </a></li>
<li title="enif_cond_broadcast"><a href="erl_nif.html#enif_cond_broadcast">enif_cond_broadcast()
                </a></li>
<li title="enif_cond_create"><a href="erl_nif.html#enif_cond_create">enif_cond_create()
                </a></li>
<li title="enif_cond_destroy"><a href="erl_nif.html#enif_cond_destroy">enif_cond_destroy()
                </a></li>
<li title="enif_cond_signal"><a href="erl_nif.html#enif_cond_signal">enif_cond_signal()
                </a></li>
<li title="enif_cond_wait"><a href="erl_nif.html#enif_cond_wait">enif_cond_wait()
                </a></li>
<li title="enif_equal_tids"><a href="erl_nif.html#enif_equal_tids">enif_equal_tids()
                </a></li>
<li title="enif_free"><a href="erl_nif.html#enif_free">enif_free()
                </a></li>
<li title="enif_free_env"><a href="erl_nif.html#enif_free_env">enif_free_env()
                </a></li>
<li title="enif_get_atom"><a href="erl_nif.html#enif_get_atom">enif_get_atom()
                </a></li>
<li title="enif_get_atom_length"><a href="erl_nif.html#enif_get_atom_length">enif_get_atom_length()
                </a></li>
<li title="enif_get_double"><a href="erl_nif.html#enif_get_double">enif_get_double()
                </a></li>
<li title="enif_get_int"><a href="erl_nif.html#enif_get_int">enif_get_int()
                </a></li>
<li title="enif_get_int64"><a href="erl_nif.html#enif_get_int64">enif_get_int64()
                </a></li>
<li title="enif_get_local_pid"><a href="erl_nif.html#enif_get_local_pid">enif_get_local_pid()
                </a></li>
<li title="enif_get_list_cell"><a href="erl_nif.html#enif_get_list_cell">enif_get_list_cell()
                </a></li>
<li title="enif_get_list_length"><a href="erl_nif.html#enif_get_list_length">enif_get_list_length()
                </a></li>
<li title="enif_get_long"><a href="erl_nif.html#enif_get_long">enif_get_long()
                </a></li>
<li title="enif_get_resource"><a href="erl_nif.html#enif_get_resource">enif_get_resource()
                </a></li>
<li title="enif_get_string"><a href="erl_nif.html#enif_get_string">enif_get_string()
                </a></li>
<li title="enif_get_tuple"><a href="erl_nif.html#enif_get_tuple">enif_get_tuple()
                </a></li>
<li title="enif_get_uint"><a href="erl_nif.html#enif_get_uint">enif_get_uint()
                </a></li>
<li title="enif_get_uint64"><a href="erl_nif.html#enif_get_uint64">enif_get_uint64()
                </a></li>
<li title="enif_get_ulong"><a href="erl_nif.html#enif_get_ulong">enif_get_ulong()
                </a></li>
<li title="enif_inspect_binary"><a href="erl_nif.html#enif_inspect_binary">enif_inspect_binary()
                </a></li>
<li title="enif_inspect_iolist_as_binary"><a href="erl_nif.html#enif_inspect_iolist_as_binary">enif_inspect_iolist_as_binary()
                </a></li>
<li title="enif_is_atom"><a href="erl_nif.html#enif_is_atom">enif_is_atom()
                </a></li>
<li title="enif_is_binary"><a href="erl_nif.html#enif_is_binary">enif_is_binary()
                </a></li>
<li title="enif_is_empty_list"><a href="erl_nif.html#enif_is_empty_list">enif_is_empty_list()
                </a></li>
<li title="enif_is_exception"><a href="erl_nif.html#enif_is_exception">enif_is_exception()
                </a></li>
<li title="enif_is_number"><a href="erl_nif.html#enif_is_number">enif_is_number()
                </a></li>
<li title="enif_is_fun"><a href="erl_nif.html#enif_is_fun">enif_is_fun()
                </a></li>
<li title="enif_is_identical"><a href="erl_nif.html#enif_is_identical">enif_is_identical()
                </a></li>
<li title="enif_is_pid"><a href="erl_nif.html#enif_is_pid">enif_is_pid()
                </a></li>
<li title="enif_is_port"><a href="erl_nif.html#enif_is_port">enif_is_port()
                </a></li>
<li title="enif_is_ref"><a href="erl_nif.html#enif_is_ref">enif_is_ref()
                </a></li>
<li title="enif_is_tuple"><a href="erl_nif.html#enif_is_tuple">enif_is_tuple()
                </a></li>
<li title="enif_is_list"><a href="erl_nif.html#enif_is_list">enif_is_list()
                </a></li>
<li title="enif_keep_resource"><a href="erl_nif.html#enif_keep_resource">enif_keep_resource()
                </a></li>
<li title="enif_make_atom"><a href="erl_nif.html#enif_make_atom">enif_make_atom()
                </a></li>
<li title="enif_make_atom_len"><a href="erl_nif.html#enif_make_atom_len">enif_make_atom_len()
                </a></li>
<li title="enif_make_badarg"><a href="erl_nif.html#enif_make_badarg">enif_make_badarg()
                </a></li>
<li title="enif_make_binary"><a href="erl_nif.html#enif_make_binary">enif_make_binary()
                </a></li>
<li title="enif_make_copy"><a href="erl_nif.html#enif_make_copy">enif_make_copy()
                </a></li>
<li title="enif_make_double"><a href="erl_nif.html#enif_make_double">enif_make_double()
                </a></li>
<li title="enif_make_existing_atom"><a href="erl_nif.html#enif_make_existing_atom">enif_make_existing_atom()
                </a></li>
<li title="enif_make_existing_atom_len"><a href="erl_nif.html#enif_make_existing_atom_len">enif_make_existing_atom_len()
                </a></li>
<li title="enif_make_int"><a href="erl_nif.html#enif_make_int">enif_make_int()
                </a></li>
<li title="enif_make_int64"><a href="erl_nif.html#enif_make_int64">enif_make_int64()
                </a></li>
<li title="enif_make_list"><a href="erl_nif.html#enif_make_list">enif_make_list()
                </a></li>
<li title="enif_make_list1"><a href="erl_nif.html#enif_make_list1">enif_make_list1()
                </a></li>
<li title="enif_make_list2"><a href="erl_nif.html#enif_make_list2">enif_make_list2()
                </a></li>
<li title="enif_make_list3"><a href="erl_nif.html#enif_make_list3">enif_make_list3()
                </a></li>
<li title="enif_make_list4"><a href="erl_nif.html#enif_make_list4">enif_make_list4()
                </a></li>
<li title="enif_make_list5"><a href="erl_nif.html#enif_make_list5">enif_make_list5()
                </a></li>
<li title="enif_make_list6"><a href="erl_nif.html#enif_make_list6">enif_make_list6()
                </a></li>
<li title="enif_make_list7"><a href="erl_nif.html#enif_make_list7">enif_make_list7()
                </a></li>
<li title="enif_make_list8"><a href="erl_nif.html#enif_make_list8">enif_make_list8()
                </a></li>
<li title="enif_make_list9"><a href="erl_nif.html#enif_make_list9">enif_make_list9()
                </a></li>
<li title="enif_make_list_cell"><a href="erl_nif.html#enif_make_list_cell">enif_make_list_cell()
                </a></li>
<li title="enif_make_list_from_array"><a href="erl_nif.html#enif_make_list_from_array">enif_make_list_from_array()
                </a></li>
<li title="enif_make_reverse_list"><a href="erl_nif.html#enif_make_reverse_list">enif_make_reverse_list()
                </a></li>
<li title="enif_make_long"><a href="erl_nif.html#enif_make_long">enif_make_long()
                </a></li>
<li title="enif_make_new_binary"><a href="erl_nif.html#enif_make_new_binary">enif_make_new_binary()
                </a></li>
<li title="enif_make_pid"><a href="erl_nif.html#enif_make_pid">enif_make_pid()
                </a></li>
<li title="enif_make_ref"><a href="erl_nif.html#enif_make_ref">enif_make_ref()
                </a></li>
<li title="enif_make_resource"><a href="erl_nif.html#enif_make_resource">enif_make_resource()
                </a></li>
<li title="enif_make_resource_binary"><a href="erl_nif.html#enif_make_resource_binary">enif_make_resource_binary()
                </a></li>
<li title="enif_make_string"><a href="erl_nif.html#enif_make_string">enif_make_string()
                </a></li>
<li title="enif_make_string_len"><a href="erl_nif.html#enif_make_string_len">enif_make_string_len()
                </a></li>
<li title="enif_make_sub_binary"><a href="erl_nif.html#enif_make_sub_binary">enif_make_sub_binary()
                </a></li>
<li title="enif_make_tuple"><a href="erl_nif.html#enif_make_tuple">enif_make_tuple()
                </a></li>
<li title="enif_make_tuple1"><a href="erl_nif.html#enif_make_tuple1">enif_make_tuple1()
                </a></li>
<li title="enif_make_tuple2"><a href="erl_nif.html#enif_make_tuple2">enif_make_tuple2()
                </a></li>
<li title="enif_make_tuple3"><a href="erl_nif.html#enif_make_tuple3">enif_make_tuple3()
                </a></li>
<li title="enif_make_tuple4"><a href="erl_nif.html#enif_make_tuple4">enif_make_tuple4()
                </a></li>
<li title="enif_make_tuple5"><a href="erl_nif.html#enif_make_tuple5">enif_make_tuple5()
                </a></li>
<li title="enif_make_tuple6"><a href="erl_nif.html#enif_make_tuple6">enif_make_tuple6()
                </a></li>
<li title="enif_make_tuple7"><a href="erl_nif.html#enif_make_tuple7">enif_make_tuple7()
                </a></li>
<li title="enif_make_tuple8"><a href="erl_nif.html#enif_make_tuple8">enif_make_tuple8()
                </a></li>
<li title="enif_make_tuple9"><a href="erl_nif.html#enif_make_tuple9">enif_make_tuple9()
                </a></li>
<li title="enif_make_tuple_from_array"><a href="erl_nif.html#enif_make_tuple_from_array">enif_make_tuple_from_array()
                </a></li>
<li title="enif_make_uint"><a href="erl_nif.html#enif_make_uint">enif_make_uint()
                </a></li>
<li title="enif_make_uint64"><a href="erl_nif.html#enif_make_uint64">enif_make_uint64()
                </a></li>
<li title="enif_make_ulong"><a href="erl_nif.html#enif_make_ulong">enif_make_ulong()
                </a></li>
<li title="enif_mutex_create"><a href="erl_nif.html#enif_mutex_create">enif_mutex_create()
                </a></li>
<li title="enif_mutex_destroy"><a href="erl_nif.html#enif_mutex_destroy">enif_mutex_destroy()
                </a></li>
<li title="enif_mutex_lock"><a href="erl_nif.html#enif_mutex_lock">enif_mutex_lock()
                </a></li>
<li title="enif_mutex_trylock"><a href="erl_nif.html#enif_mutex_trylock">enif_mutex_trylock()
                </a></li>
<li title="enif_mutex_unlock"><a href="erl_nif.html#enif_mutex_unlock">enif_mutex_unlock()
                </a></li>
<li title="enif_open_resource_type"><a href="erl_nif.html#enif_open_resource_type">enif_open_resource_type()
                </a></li>
<li title="enif_priv_data"><a href="erl_nif.html#enif_priv_data">enif_priv_data()
                </a></li>
<li title="enif_realloc_binary"><a href="erl_nif.html#enif_realloc_binary">enif_realloc_binary()
                </a></li>
<li title="enif_release_binary"><a href="erl_nif.html#enif_release_binary">enif_release_binary()
                </a></li>
<li title="enif_release_resource"><a href="erl_nif.html#enif_release_resource">enif_release_resource()
                </a></li>
<li title="enif_rwlock_create"><a href="erl_nif.html#enif_rwlock_create">enif_rwlock_create()
                </a></li>
<li title="enif_rwlock_destroy"><a href="erl_nif.html#enif_rwlock_destroy">enif_rwlock_destroy()
                </a></li>
<li title="enif_rwlock_rlock"><a href="erl_nif.html#enif_rwlock_rlock">enif_rwlock_rlock()
                </a></li>
<li title="enif_rwlock_runlock"><a href="erl_nif.html#enif_rwlock_runlock">enif_rwlock_runlock()
                </a></li>
<li title="enif_rwlock_rwlock"><a href="erl_nif.html#enif_rwlock_rwlock">enif_rwlock_rwlock()
                </a></li>
<li title="enif_rwlock_rwunlock"><a href="erl_nif.html#enif_rwlock_rwunlock">enif_rwlock_rwunlock()
                </a></li>
<li title="enif_rwlock_tryrlock"><a href="erl_nif.html#enif_rwlock_tryrlock">enif_rwlock_tryrlock()
                </a></li>
<li title="enif_rwlock_tryrwlock"><a href="erl_nif.html#enif_rwlock_tryrwlock">enif_rwlock_tryrwlock()
                </a></li>
<li title="enif_self"><a href="erl_nif.html#enif_self">enif_self()
                </a></li>
<li title="enif_send"><a href="erl_nif.html#enif_send">enif_send()
                </a></li>
<li title="enif_sizeof_resource"><a href="erl_nif.html#enif_sizeof_resource">enif_sizeof_resource()
                </a></li>
<li title="enif_system_info"><a href="erl_nif.html#enif_system_info">enif_system_info()
                </a></li>
<li title="enif_thread_create"><a href="erl_nif.html#enif_thread_create">enif_thread_create()
                </a></li>
<li title="enif_thread_exit"><a href="erl_nif.html#enif_thread_exit">enif_thread_exit()
                </a></li>
<li title="enif_thread_join"><a href="erl_nif.html#enif_thread_join">enif_thread_join()
                </a></li>
<li title="enif_thread_opts_create"><a href="erl_nif.html#enif_thread_opts_create">enif_thread_opts_create()
                </a></li>
<li title="enif_thread_opts_destroy"><a href="erl_nif.html#enif_thread_opts_destroy">enif_thread_opts_destroy()
                </a></li>
<li title="enif_thread_self"><a href="erl_nif.html#enif_thread_self">enif_thread_self()
                </a></li>
<li title="enif_tsd_key_create"><a href="erl_nif.html#enif_tsd_key_create">enif_tsd_key_create()
                </a></li>
<li title="enif_tsd_key_destroy"><a href="erl_nif.html#enif_tsd_key_destroy">enif_tsd_key_destroy()
                </a></li>
<li title="enif_tsd_get"><a href="erl_nif.html#enif_tsd_get">enif_tsd_get()
                </a></li>
<li title="enif_tsd_set"><a href="erl_nif.html#enif_tsd_set">enif_tsd_set()
                </a></li>
</ul>
</li>
</ul>
</div></div>
<div id="content">
<div class="innertube">
<!-- refpage --><center><h1>zlib</h1></center>
  
  <h3>MODULE</h3>
<div class="REFBODY">zlib</div>
  <h3>MODULE SUMMARY</h3>
<div class="REFBODY">Zlib Compression interface.</div>
  <h3>DESCRIPTION</h3>
<div class="REFBODY"><p>
    <p>The zlib module provides an API for the zlib library
      (http://www.zlib.org).
      It is used to compress and decompress data. The
      data format is described by RFCs 1950 to 1952.</p>
    <p>A typical (compress) usage looks like:</p>
    <div class="example"><pre>
Z = zlib:open(),
ok = zlib:deflateInit(Z,default),

Compress = fun(end_of_data, _Cont) -&gt; [];
              (Data, Cont) -&gt;
                 [zlib:deflate(Z, Data)|Cont(Read(),Cont)]
           end,
Compressed = Compress(Read(),Compress),
Last = zlib:deflate(Z, [], finish),
ok = zlib:deflateEnd(Z),
zlib:close(Z),
list_to_binary([Compressed|Last])</pre></div>
    <p>In all functions errors, <span class="code">{'EXIT',{Reason,Backtrace}}</span>,
      might be thrown, where <span class="code">Reason</span> describes the
      error. Typical reasons are:</p>
    <dl>
      <dt><strong><span class="code">badarg</span></strong></dt>
      <dd>
        <p>Bad argument</p>
      </dd>
      <dt><strong><span class="code">data_error</span></strong></dt>
      <dd>
        <p>The data contains errors</p>
      </dd>
      <dt><strong><span class="code">stream_error</span></strong></dt>
      <dd>
        <p>Inconsistent stream state</p>
      </dd>
      <dt><strong><span class="code">einval</span></strong></dt>
      <dd>
        <p>Bad value or wrong function called</p>
      </dd>
      <dt><strong><span class="code">{need_dictionary,Adler32}</span></strong></dt>
      <dd>
        <p>See <span class="code">inflate/2</span></p>
      </dd>
    </dl>
  </p></div>

  <h3>DATA TYPES</h3>
    <p>
      <span class="bold_code"><a name="type-zstream">zstream()</a> = port()</span><br></p>
<div class="REFBODY"><p>
        <p>A zlib stream, see <span class="bold_code"><a href="#open-0">open/0</a></span>.
        </p>
       </p></div>
    <p>
      <span class="bold_code"><a name="type-zlevel">zlevel()</a> = none<br>         | default<br>         | best_compression<br>         | best_speed<br>         | 0..9</span><br></p>
    <p>
      <span class="bold_code"><a name="type-zmemlevel">zmemlevel()</a> = 1..9</span><br></p>
    <p>
      <span class="bold_code"><a name="type-zmethod">zmethod()</a> = deflated</span><br></p>
    <p>
      <span class="bold_code"><a name="type-zstrategy">zstrategy()</a> = default | filtered | huffman_only</span><br></p>
    <p>
      <span class="bold_code"><a name="type-zwindowbits">zwindowbits()</a> = -15..-9 | 9..47</span><br></p>
<div class="REFBODY"><p>
        <p>Normally in the range <span class="code">-15..-9 | 9..15</span>.</p>
      </p></div>
  
  <h3>EXPORTS</h3>
    <p><a name="open-0"></a><span class="bold_code">open() -&gt; <span class="bold_code"><a href="#type-zstream">zstream()</a></span></span><br></p>
<div class="REFBODY"><p>
        <p>Open a zlib stream.</p>
      </p></div>
    <p><a name="close-1"></a><span class="bold_code">close(Z) -&gt; ok</span><br><div class="REFBODY">
<p>Types:</p>
<div class="REFTYPES"><span class="bold_code">Z = <span class="bold_code"><a href="#type-zstream">zstream()</a></span></span></div>
</div></p>
<div class="REFBODY"><p>
        <p>Closes the stream referenced by <span class="code">Z</span>.</p>
      </p></div>
    <p><a name="deflateInit-1"></a><span class="bold_code">deflateInit(Z) -&gt; ok</span><br><div class="REFBODY">
<p>Types:</p>
<div class="REFTYPES"><span class="bold_code">Z = <span class="bold_code"><a href="#type-zstream">zstream()</a></span></span></div>
</div></p>
<div class="REFBODY"><p>
        <p>Same as <span class="code">zlib:deflateInit(Z, default)</span>.</p>
      </p></div>
    <p><a name="deflateInit-2"></a><span class="bold_code">deflateInit(Z, Level) -&gt; ok</span><br><div class="REFBODY">
<p>Types:</p>
<div class="REFTYPES"><span class="bold_code">Z = <span class="bold_code"><a href="#type-zstream">zstream()</a></span></span></div>
<div class="REFTYPES"><span class="bold_code">Level = <span class="bold_code"><a href="#type-zlevel">zlevel()</a></span></span></div>
</div></p>
<div class="REFBODY"><p>
        <p>Initialize a zlib stream for compression.</p>
        <p><span class="code">Level</span> decides the compression level to be used, 0
          (<span class="code">none</span>), gives no compression at all, 1
          (<span class="code">best_speed</span>) gives best speed and 9
          (<span class="code">best_compression</span>) gives best compression.</p>
      </p></div>
    <p><a name="deflateInit-6"></a><span class="bold_code">deflateInit(Z, Level, Method, WindowBits, MemLevel, Strategy) -&gt;<br>               ok</span><br><div class="REFBODY">
<p>Types:</p>
<div class="REFTYPES"><span class="bold_code">Z = <span class="bold_code"><a href="#type-zstream">zstream()</a></span></span></div>
<div class="REFTYPES"><span class="bold_code">Level = <span class="bold_code"><a href="#type-zlevel">zlevel()</a></span></span></div>
<div class="REFTYPES"><span class="bold_code">Method = <span class="bold_code"><a href="#type-zmethod">zmethod()</a></span></span></div>
<div class="REFTYPES"><span class="bold_code">WindowBits = <span class="bold_code"><a href="#type-zwindowbits">zwindowbits()</a></span></span></div>
<div class="REFTYPES"><span class="bold_code">MemLevel = <span class="bold_code"><a href="#type-zmemlevel">zmemlevel()</a></span></span></div>
<div class="REFTYPES"><span class="bold_code">Strategy = <span class="bold_code"><a href="#type-zstrategy">zstrategy()</a></span></span></div>
</div></p>
<div class="REFBODY"><p>
        <p>Initiates a zlib stream for compression.</p>
        <p>The <span class="code">Level</span> parameter decides the compression level to be
          used, 0 (<span class="code">none</span>), gives no compression at all, 1
          (<span class="code">best_speed</span>) gives best speed and 9
          (<span class="code">best_compression</span>) gives best compression.</p>
        <p>The <span class="code">Method</span> parameter decides which compression method to use,
          currently the only supported method is <span class="code">deflated</span>.</p>
        <p>The <span class="code">WindowBits</span> parameter is the base two logarithm
          of the window size (the size of the history buffer).  It
          should be in the range 9 through 15. Larger values
          of this parameter result in better compression at the
          expense of memory usage. The default value is 15 if
          <span class="code">deflateInit/2</span>. A negative <span class="code">WindowBits</span>
          value suppresses the zlib header (and checksum) from the
          stream. Note that the zlib source mentions this only as a
          undocumented feature.</p>
        <p>The <span class="code">MemLevel</span> parameter specifies how much memory
          should be allocated for the internal compression
          state. <span class="code">MemLevel</span>=1 uses minimum memory but is slow and
          reduces compression ratio; <span class="code">MemLevel</span>=9 uses maximum
          memory for optimal speed. The default value is 8.</p>
        <p>The <span class="code">Strategy</span> parameter is used to tune the
          compression algorithm. Use the value <span class="code">default</span> for
          normal data, <span class="code">filtered</span> for data produced by a filter
          (or predictor), or <span class="code">huffman_only</span> to force Huffman
          encoding only (no string match).  Filtered data consists
          mostly of small values with a somewhat random
          distribution. In this case, the compression algorithm is
          tuned to compress them better. The effect of
          <span class="code">filtered</span>is to force more Huffman coding and less
          string matching; it is somewhat intermediate between
          <span class="code">default</span> and <span class="code">huffman_only</span>. The <span class="code">Strategy</span>
          parameter only affects the compression ratio but not the
          correctness of the compressed output even if it is not set
          appropriately.</p>
      </p></div>
    <p><a name="deflate-2"></a><span class="bold_code">deflate(Z, Data) -&gt; Compressed</span><br><div class="REFBODY">
<p>Types:</p>
<div class="REFTYPES"><span class="bold_code">Z = <span class="bold_code"><a href="#type-zstream">zstream()</a></span></span></div>
<div class="REFTYPES"><span class="bold_code">Data = iodata()</span></div>
<div class="REFTYPES"><span class="bold_code">Compressed = iolist()</span></div>
</div></p>
<div class="REFBODY"><p>
        <p>Same as <span class="code">deflate(Z, Data, none)</span>.</p>
      </p></div>
    <p><a name="deflate-3"></a><span class="bold_code">deflate(Z, Data, Flush) -&gt; Compressed</span><br><div class="REFBODY">
<p>Types:</p>
<div class="REFTYPES"><span class="bold_code">Z = <span class="bold_code"><a href="#type-zstream">zstream()</a></span></span></div>
<div class="REFTYPES"><span class="bold_code">Data = iodata()</span></div>
<div class="REFTYPES"><span class="bold_code">Flush = none | sync | full | finish</span></div>
<div class="REFTYPES"><span class="bold_code">Compressed = iolist()</span></div>
</div></p>
<div class="REFBODY"><p>
        <p><span class="code">deflate/3</span> compresses as much data as possible, and
          stops when the input buffer becomes empty. It may introduce
          some output latency (reading input without producing any
          output) except when forced to flush.</p>
        <p>If the parameter <span class="code">Flush</span> is set to <span class="code">sync</span>, all
          pending output is flushed to the output buffer and the
          output is aligned on a byte boundary, so that the
          decompressor can get all input data available so far. 
          Flushing may degrade compression for some compression algorithms and so
          it should be used only when necessary.</p>
        <p>If <span class="code">Flush</span> is set to <span class="code">full</span>, all output is flushed as with
          <span class="code">sync</span>, and the compression state is reset so that decompression can
          restart from this point if previous compressed data has been damaged or if
          random access is desired. Using <span class="code">full</span> too often can seriously degrade
          the compression.</p>
        <p>If the parameter <span class="code">Flush</span> is set to <span class="code">finish</span>,
          pending input is processed, pending output is flushed and
          <span class="code">deflate/3</span> returns. Afterwards the only possible
          operations on the stream are <span class="code">deflateReset/1</span> or <span class="code">deflateEnd/1</span>.</p>
        <p><span class="code">Flush</span> can be set to <span class="code">finish</span> immediately after
          <span class="code">deflateInit</span> if all compression is to be done in one step.</p>
        <div class="example"><pre>
 
zlib:deflateInit(Z),
B1 = zlib:deflate(Z,Data),
B2 = zlib:deflate(Z,&lt;&lt; &gt;&gt;,finish),
zlib:deflateEnd(Z),
list_to_binary([B1,B2])</pre></div>
      </p></div>
    <p><a name="deflateSetDictionary-2"></a><span class="bold_code">deflateSetDictionary(Z, Dictionary) -&gt; Adler32</span><br><div class="REFBODY">
<p>Types:</p>
<div class="REFTYPES"><span class="bold_code">Z = <span class="bold_code"><a href="#type-zstream">zstream()</a></span></span></div>
<div class="REFTYPES"><span class="bold_code">Dictionary = iodata()</span></div>
<div class="REFTYPES"><span class="bold_code">Adler32 = integer()</span></div>
</div></p>
<div class="REFBODY"><p>
        <p>Initializes the compression dictionary from the given byte
          sequence without producing any compressed output. This
          function must be called immediately after
          <span class="code">deflateInit/[1|2|6]</span> or <span class="code">deflateReset/1</span>, before
          any call of <span class="code">deflate/3</span>. The compressor and
          decompressor must use exactly the same dictionary (see
          <span class="code">inflateSetDictionary/2</span>). The adler checksum of the
          dictionary is returned.</p>
      </p></div>
    <p><a name="deflateReset-1"></a><span class="bold_code">deflateReset(Z) -&gt; ok</span><br><div class="REFBODY">
<p>Types:</p>
<div class="REFTYPES"><span class="bold_code">Z = <span class="bold_code"><a href="#type-zstream">zstream()</a></span></span></div>
</div></p>
<div class="REFBODY"><p>
        <p>This function is equivalent to <span class="code">deflateEnd/1</span>
          followed by <span class="code">deflateInit/[1|2|6]</span>, but does not free
          and reallocate all the internal compression state.  The
          stream will keep the same compression level and any other
          attributes.</p>
      </p></div>
    <p><a name="deflateParams-3"></a><span class="bold_code">deflateParams(Z, Level, Strategy) -&gt; ok</span><br><div class="REFBODY">
<p>Types:</p>
<div class="REFTYPES"><span class="bold_code">Z = <span class="bold_code"><a href="#type-zstream">zstream()</a></span></span></div>
<div class="REFTYPES"><span class="bold_code">Level = <span class="bold_code"><a href="#type-zlevel">zlevel()</a></span></span></div>
<div class="REFTYPES"><span class="bold_code">Strategy = <span class="bold_code"><a href="#type-zstrategy">zstrategy()</a></span></span></div>
</div></p>
<div class="REFBODY"><p>
        <p>Dynamically update the compression level and compression
          strategy.  The interpretation of <span class="code">Level</span> and
          <span class="code">Strategy</span> is as in <span class="code">deflateInit/6</span>.  This can be
          used to switch between compression and straight copy of the
          input data, or to switch to a different kind of input data
          requiring a different strategy. If the compression level is
          changed, the input available so far is compressed with the
          old level (and may be flushed); the new level will take
          effect only at the next call of <span class="code">deflate/3</span>.</p>
        <p>Before the call of <span class="code">deflateParams</span>, the stream state must be set as for
          a call of <span class="code">deflate/3</span>, since the currently available input may have to
          be compressed and flushed.</p>
      </p></div>
    <p><a name="deflateEnd-1"></a><span class="bold_code">deflateEnd(Z) -&gt; ok</span><br><div class="REFBODY">
<p>Types:</p>
<div class="REFTYPES"><span class="bold_code">Z = <span class="bold_code"><a href="#type-zstream">zstream()</a></span></span></div>
</div></p>
<div class="REFBODY"><p>
        <p>End the deflate session and cleans all data used.
          Note that this function will throw an <span class="code">data_error</span>
          exception if the last call to
          <span class="code">deflate/3</span> was not called with <span class="code">Flush</span> set to
          <span class="code">finish</span>.</p>
      </p></div>
    <p><a name="inflateInit-1"></a><span class="bold_code">inflateInit(Z) -&gt; ok</span><br><div class="REFBODY">
<p>Types:</p>
<div class="REFTYPES"><span class="bold_code">Z = <span class="bold_code"><a href="#type-zstream">zstream()</a></span></span></div>
</div></p>
<div class="REFBODY"><p>
        <p>Initialize a zlib stream for decompression.</p>
      </p></div>
    <p><a name="inflateInit-2"></a><span class="bold_code">inflateInit(Z, WindowBits) -&gt; ok</span><br><div class="REFBODY">
<p>Types:</p>
<div class="REFTYPES"><span class="bold_code">Z = <span class="bold_code"><a href="#type-zstream">zstream()</a></span></span></div>
<div class="REFTYPES"><span class="bold_code">WindowBits = <span class="bold_code"><a href="#type-zwindowbits">zwindowbits()</a></span></span></div>
</div></p>
<div class="REFBODY"><p>
        <p>Initialize decompression session on zlib stream.</p>
        <p>The <span class="code">WindowBits</span> parameter is the base two logarithm
          of the maximum window size (the size of the history buffer).
          It should be in the range 9 through 15.
          The default value is 15 if <span class="code">inflateInit/1</span> is used.
          If a compressed stream with a larger window size is
          given as input, inflate() will throw the <span class="code">data_error</span>
          exception. A negative <span class="code">WindowBits</span> value makes zlib ignore the
          zlib header (and checksum) from the stream.  Note that the zlib
          source mentions this only as a undocumented feature.</p>
      </p></div>
    <p><a name="inflate-2"></a><span class="bold_code">inflate(Z, Data) -&gt; Decompressed</span><br><div class="REFBODY">
<p>Types:</p>
<div class="REFTYPES"><span class="bold_code">Z = <span class="bold_code"><a href="#type-zstream">zstream()</a></span></span></div>
<div class="REFTYPES"><span class="bold_code">Data = iodata()</span></div>
<div class="REFTYPES"><span class="bold_code">Decompressed = iolist()</span></div>
</div></p>
<div class="REFBODY"><p>
        <p><span class="code">inflate/2</span> decompresses as much data as possible.
          It may some introduce some output latency (reading
          input without producing any output).</p>
        <p>If a preset dictionary is needed at this point (see
          <span class="code">inflateSetDictionary</span> below), <span class="code">inflate/2</span> throws a
          <span class="code">{need_dictionary,Adler}</span> exception where <span class="code">Adler</span> is 
          the adler32 checksum of the dictionary chosen by the
          compressor.</p>
      </p></div>
    <p><a name="inflateSetDictionary-2"></a><span class="bold_code">inflateSetDictionary(Z, Dictionary) -&gt; ok</span><br><div class="REFBODY">
<p>Types:</p>
<div class="REFTYPES"><span class="bold_code">Z = <span class="bold_code"><a href="#type-zstream">zstream()</a></span></span></div>
<div class="REFTYPES"><span class="bold_code">Dictionary = iodata()</span></div>
</div></p>
<div class="REFBODY"><p>
        <p>Initializes the decompression dictionary from the given
          uncompressed byte sequence. This function must be called
          immediately after a call of <span class="code">inflate/2</span> if this call
          threw a <span class="code">{need_dictionary,Adler}</span> exception.
          The dictionary chosen by the
          compressor can be determined from the Adler value thrown
          by the call to <span class="code">inflate/2</span>. The compressor and decompressor
          must use exactly the same dictionary (see <span class="code">deflateSetDictionary/2</span>).</p>
        <p>Example:</p>
        <div class="example"><pre>
unpack(Z, Compressed, Dict) -&gt;
     case catch zlib:inflate(Z, Compressed) of
          {'EXIT',{{need_dictionary,DictID},_}} -&gt;
                   zlib:inflateSetDictionary(Z, Dict),
                 Uncompressed = zlib:inflate(Z, []);
          Uncompressed -&gt;
                 Uncompressed
     end.</pre></div>
      </p></div>
    <p><a name="inflateReset-1"></a><span class="bold_code">inflateReset(Z) -&gt; ok</span><br><div class="REFBODY">
<p>Types:</p>
<div class="REFTYPES"><span class="bold_code">Z = <span class="bold_code"><a href="#type-zstream">zstream()</a></span></span></div>
</div></p>
<div class="REFBODY"><p>
        <p>This function is equivalent to <span class="code">inflateEnd/1</span> followed
          by <span class="code">inflateInit/1</span>, but does not free and reallocate all
          the internal decompression state.  The stream will keep
          attributes that may have been set by <span class="code">inflateInit/[1|2]</span>.</p>
      </p></div>
    <p><a name="inflateEnd-1"></a><span class="bold_code">inflateEnd(Z) -&gt; ok</span><br><div class="REFBODY">
<p>Types:</p>
<div class="REFTYPES"><span class="bold_code">Z = <span class="bold_code"><a href="#type-zstream">zstream()</a></span></span></div>
</div></p>
<div class="REFBODY"><p>
        <p>End the inflate session and cleans all data used. Note
          that this function will throw a <span class="code">data_error</span> exception
          if no end of stream was found (meaning that not all data
          has been uncompressed).</p>
      </p></div>
    <p><a name="setBufSize-2"></a><span class="bold_code">setBufSize(Z, Size) -&gt; ok</span><br><div class="REFBODY">
<p>Types:</p>
<div class="REFTYPES"><span class="bold_code">Z = <span class="bold_code"><a href="#type-zstream">zstream()</a></span></span></div>
<div class="REFTYPES"><span class="bold_code">Size = integer() &gt;= 0</span></div>
</div></p>
<div class="REFBODY"><p>
        <p>Sets the intermediate buffer size.</p>
      </p></div>
    <p><a name="getBufSize-1"></a><span class="bold_code">getBufSize(Z) -&gt; Size</span><br><div class="REFBODY">
<p>Types:</p>
<div class="REFTYPES"><span class="bold_code">Z = <span class="bold_code"><a href="#type-zstream">zstream()</a></span></span></div>
<div class="REFTYPES"><span class="bold_code">Size = integer() &gt;= 0</span></div>
</div></p>
<div class="REFBODY"><p>
        <p>Get the size of intermediate buffer.</p>
      </p></div>
    <p><a name="crc32-1"></a><span class="bold_code">crc32(Z) -&gt; CRC</span><br><div class="REFBODY">
<p>Types:</p>
<div class="REFTYPES"><span class="bold_code">Z = <span class="bold_code"><a href="#type-zstream">zstream()</a></span></span></div>
<div class="REFTYPES"><span class="bold_code">CRC = integer()</span></div>
</div></p>
<div class="REFBODY"><p>
        <p>Get the current calculated CRC checksum.</p>
      </p></div>
    <p><a name="crc32-2"></a><span class="bold_code">crc32(Z, Data) -&gt; CRC</span><br><div class="REFBODY">
<p>Types:</p>
<div class="REFTYPES"><span class="bold_code">Z = <span class="bold_code"><a href="#type-zstream">zstream()</a></span></span></div>
<div class="REFTYPES"><span class="bold_code">Data = iodata()</span></div>
<div class="REFTYPES"><span class="bold_code">CRC = integer()</span></div>
</div></p>
<div class="REFBODY"><p>
        <p>Calculate the CRC checksum for <span class="code">Data</span>.</p>
      </p></div>
    <p><a name="crc32-3"></a><span class="bold_code">crc32(Z, PrevCRC, Data) -&gt; CRC</span><br><div class="REFBODY">
<p>Types:</p>
<div class="REFTYPES"><span class="bold_code">Z = <span class="bold_code"><a href="#type-zstream">zstream()</a></span></span></div>
<div class="REFTYPES"><span class="bold_code">PrevCRC = integer()</span></div>
<div class="REFTYPES"><span class="bold_code">Data = iodata()</span></div>
<div class="REFTYPES"><span class="bold_code">CRC = integer()</span></div>
</div></p>
<div class="REFBODY"><p>
        <p>Update a running CRC checksum for <span class="code">Data</span>.
          If <span class="code">Data</span> is the empty binary or the empty iolist, this function returns
          the required initial value for the crc.</p>
        <div class="example"><pre>
Crc = lists:foldl(fun(Data,Crc0) -&gt;
                      zlib:crc32(Z, Crc0, Data),
                  end, zlib:crc32(Z,&lt;&lt; &gt;&gt;), Datas)</pre></div>
      </p></div>
    <p><a name="crc32_combine-4"></a><span class="bold_code">crc32_combine(Z, CRC1, CRC2, Size2) -&gt; CRC</span><br><div class="REFBODY">
<p>Types:</p>
<div class="REFTYPES"><span class="bold_code">Z = <span class="bold_code"><a href="#type-zstream">zstream()</a></span></span></div>
<div class="REFTYPES"><span class="bold_code">CRC = CRC1 = CRC2 = Size2 = integer()</span></div>
<div class="REFTYPES"><span class="bold_code"></span></div>
<div class="REFTYPES"><span class="bold_code"></span></div>
<div class="REFTYPES"><span class="bold_code"></span></div>
</div></p>
<div class="REFBODY"><p>
	<p>Combine two CRC checksums into one.  For two binaries or iolists,
	  <span class="code">Data1</span> and <span class="code">Data2</span> with sizes of <span class="code">Size1</span> and
	  <span class="code">Size2</span>, with CRC checksums <span class="code">CRC1</span> and
	  <span class="code">CRC2</span>.  <span class="code">crc32_combine/4</span> returns the <span class="code">CRC</span>
	  checksum of <span class="code">[Data1,Data2]</span>, requiring
	  only <span class="code">CRC1</span>, <span class="code">CRC2</span>, and <span class="code">Size2</span>.
	</p>
      </p></div>
    <p><a name="adler32-2"></a><span class="bold_code">adler32(Z, Data) -&gt; CheckSum</span><br><div class="REFBODY">
<p>Types:</p>
<div class="REFTYPES"><span class="bold_code">Z = <span class="bold_code"><a href="#type-zstream">zstream()</a></span></span></div>
<div class="REFTYPES"><span class="bold_code">Data = iodata()</span></div>
<div class="REFTYPES"><span class="bold_code">CheckSum = integer()</span></div>
</div></p>
<div class="REFBODY"><p>
        <p>Calculate the Adler-32 checksum for <span class="code">Data</span>.</p>
      </p></div>
    <p><a name="adler32-3"></a><span class="bold_code">adler32(Z, PrevAdler, Data) -&gt; CheckSum</span><br><div class="REFBODY">
<p>Types:</p>
<div class="REFTYPES"><span class="bold_code">Z = <span class="bold_code"><a href="#type-zstream">zstream()</a></span></span></div>
<div class="REFTYPES"><span class="bold_code">PrevAdler = integer()</span></div>
<div class="REFTYPES"><span class="bold_code">Data = iodata()</span></div>
<div class="REFTYPES"><span class="bold_code">CheckSum = integer()</span></div>
</div></p>
<div class="REFBODY"><p>
        <p>Update a running Adler-32 checksum for <span class="code">Data</span>.
          If <span class="code">Data</span> is the empty binary or the empty iolist, this function returns
          the required initial value for the checksum.</p>
        <div class="example"><pre>
Crc = lists:foldl(fun(Data,Crc0) -&gt;
                      zlib:adler32(Z, Crc0, Data),
                  end, zlib:adler32(Z,&lt;&lt; &gt;&gt;), Datas)</pre></div>
      </p></div>
    <p><a name="adler32_combine-4"></a><span class="bold_code">adler32_combine(Z, Adler1, Adler2, Size2) -&gt; Adler</span><br><div class="REFBODY">
<p>Types:</p>
<div class="REFTYPES"><span class="bold_code">Z = <span class="bold_code"><a href="#type-zstream">zstream()</a></span></span></div>
<div class="REFTYPES"><span class="bold_code">Adler = Adler1 = Adler2 = Size2 = integer()</span></div>
<div class="REFTYPES"><span class="bold_code"></span></div>
<div class="REFTYPES"><span class="bold_code"></span></div>
<div class="REFTYPES"><span class="bold_code"></span></div>
</div></p>
<div class="REFBODY"><p>
	<p>Combine two Adler-32 checksums into one.  For two binaries or iolists,
	  <span class="code">Data1</span> and <span class="code">Data2</span> with sizes of <span class="code">Size1</span> and
	  <span class="code">Size2</span>, with Adler-32 checksums <span class="code">Adler1</span> and
	  <span class="code">Adler2</span>.  <span class="code">adler32_combine/4</span> returns the <span class="code">Adler</span>
	  checksum of <span class="code">[Data1,Data2]</span>, requiring
	  only <span class="code">Adler1</span>, <span class="code">Adler2</span>, and <span class="code">Size2</span>.
	</p>
      </p></div>
    <p><a name="compress-1"></a><span class="bold_code">compress(Data) -&gt; Compressed</span><br><div class="REFBODY">
<p>Types:</p>
<div class="REFTYPES"><span class="bold_code">Data = iodata()</span></div>
<div class="REFTYPES"><span class="bold_code">Compressed = binary()</span></div>
</div></p>
<div class="REFBODY"><p>
        <p>Compress data (with zlib headers and checksum).</p>
      </p></div>
    <p><a name="uncompress-1"></a><span class="bold_code">uncompress(Data) -&gt; Decompressed</span><br><div class="REFBODY">
<p>Types:</p>
<div class="REFTYPES"><span class="bold_code">Data = iodata()</span></div>
<div class="REFTYPES"><span class="bold_code">Decompressed = binary()</span></div>
</div></p>
<div class="REFBODY"><p>
        <p>Uncompress data (with zlib headers and checksum).</p>
      </p></div>
    <p><a name="zip-1"></a><span class="bold_code">zip(Data) -&gt; Compressed</span><br><div class="REFBODY">
<p>Types:</p>
<div class="REFTYPES"><span class="bold_code">Data = iodata()</span></div>
<div class="REFTYPES"><span class="bold_code">Compressed = binary()</span></div>
</div></p>
<div class="REFBODY"><p>
        <p>Compress data (without zlib headers and checksum).</p>
      </p></div>
    <p><a name="unzip-1"></a><span class="bold_code">unzip(Data) -&gt; Decompressed</span><br><div class="REFBODY">
<p>Types:</p>
<div class="REFTYPES"><span class="bold_code">Data = iodata()</span></div>
<div class="REFTYPES"><span class="bold_code">Decompressed = binary()</span></div>
</div></p>
<div class="REFBODY"><p>
        <p>Uncompress data (without zlib headers and checksum).</p>
      </p></div>
    <p><a name="gzip-1"></a><span class="bold_code">gzip(Data) -&gt; Compressed</span><br><div class="REFBODY">
<p>Types:</p>
<div class="REFTYPES"><span class="bold_code">Data = iodata()</span></div>
<div class="REFTYPES"><span class="bold_code">Compressed = binary()</span></div>
</div></p>
<div class="REFBODY"><p>
        <p>Compress data (with gz headers and checksum).</p>
      </p></div>
    <p><a name="gunzip-1"></a><span class="bold_code">gunzip(Data) -&gt; Decompressed</span><br><div class="REFBODY">
<p>Types:</p>
<div class="REFTYPES"><span class="bold_code">Data = iodata()</span></div>
<div class="REFTYPES"><span class="bold_code">Decompressed = binary()</span></div>
</div></p>
<div class="REFBODY"><p>
        <p>Uncompress data (with gz headers and checksum).</p>
      </p></div>
  
</div>
<div class="footer">
<hr>
<p>Copyright © 1997-2012 Ericsson AB. All Rights Reserved.</p>
</div>
</div>
</div></body>
</html>